# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1283256997 -10800 # Node ID bad0cc58d154eaf0801c9dced6c44647a4a7cfd6 # Parent 30e048a7b5979086a1b971781a577af07e9a5e55 Revision: 201029 Kit: 201035 diff -r 30e048a7b597 -r bad0cc58d154 accesssec.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,29 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/accesssec_plat.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/accesssec_plat.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,26 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_qt_configuration_api/eap_qt_configuration_api.pri --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_qt_configuration_api/eap_qt_configuration_api.pri Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,30 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_qt_configuration_api/inc/eapqtcertificateinfo.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_qt_configuration_api/inc/eapqtcertificateinfo.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,98 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_qt_configuration_api/inc/eapqtconfig.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_qt_configuration_api/inc/eapqtconfig.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,161 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_qt_configuration_api/inc/eapqtconfigexport.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_qt_configuration_api/inc/eapqtconfigexport.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,43 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_qt_configuration_api/inc/eapqtconfiginterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_qt_configuration_api/inc/eapqtconfiginterface.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,202 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_qt_configuration_api/inc/eapqtexpandedeaptype.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_qt_configuration_api/inc/eapqtexpandedeaptype.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,106 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_qt_configuration_api/inc/eapqtpacstoreconfig.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_qt_configuration_api/inc/eapqtpacstoreconfig.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,121 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_qt_configuration_api/inc/eapqtpluginhandle.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_qt_configuration_api/inc/eapqtpluginhandle.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,111 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_qt_configuration_api/inc/eapqtplugininfo.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_qt_configuration_api/inc/eapqtplugininfo.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,81 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_qt_configuration_api/inc/eapqtvalidator.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_qt_configuration_api/inc/eapqtvalidator.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,106 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_type_api/eap_type_api.metaxml --- a/accesssec_plat/eap_type_api/eap_type_api.metaxml Thu Aug 19 09:58:27 2010 +0300 +++ b/accesssec_plat/eap_type_api/eap_type_api.metaxml Tue Aug 31 15:16:37 2010 +0300 @@ -3,15 +3,17 @@ EAP Type API Generic API for configuring EAP type plugins c++ - wlaneapol + accesssec + eapsymbiantools.lib + eaptools.lib - yes + no no diff -r 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_type_api/group/bld.inf --- a/accesssec_plat/eap_type_api/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ b/accesssec_plat/eap_type_api/group/bld.inf Tue Aug 31 15:16:37 2010 +0300 @@ -17,7 +17,7 @@ */ /* -* %version: tr1cfwln#5.1.2 % +* %version: tr1cfwln#17 % */ #include @@ -27,8 +27,16 @@ 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_type_api/inc/EapExpandedType.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_type_api/inc/EapExpandedType.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,167 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_type_api/inc/EapGeneralSettings.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_type_api/inc/EapGeneralSettings.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,117 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_type_api/inc/EapGeneralSettings.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_type_api/inc/EapGeneralSettings.inl Tue Aug 31 15:16:37 2010 +0300 @@ -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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_type_api/inc/EapSettings.h --- a/accesssec_plat/eap_type_api/inc/EapSettings.h Thu Aug 19 09:58:27 2010 +0300 +++ b/accesssec_plat/eap_type_api/inc/EapSettings.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11.1.2.1.3 % +* %version: 11.1.29 % */ // Refer the document S60_3_1_EAP_Symbian_Adaptation_Design_C.doc for more @@ -25,21 +25,170 @@ #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 CertificateEntry + +//------------------------------------------------------------------------------- + +class EapCertificateEntry +: public CBase { + public: - CertificateEntry(); - - enum TCertType { + enum TCertType + { + ENone, 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; @@ -57,70 +206,108 @@ 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: - 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 - }; + IMPORT_C EAPSettings(); + + IMPORT_C virtual ~EAPSettings(); + + IMPORT_C void trace() const; + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // Specifies the EAP type these settings are for. // Is not really needed but is here so just some sanity checks can be made - TEapType iEAPType; + TEapExpandedType iEAPExpandedType; // Use this in new code. + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + // 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; @@ -136,13 +323,24 @@ // Subject key ID and Certificate type are the only mandatory certificate // details needed at the moment. TBool iCertificatesPresent; - CArrayFixFlat iCertificates; + 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; - // Array listing the encapsulated EAP types (in priority order). - // Use EAP type values from TEapType. - TBool iEncapsulatedEAPTypesPresent; - RArray iEncapsulatedEAPTypes; + // 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; + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + // Whether Authenticated provisioning mode allowed or not in EAP-FAST. TBool iAuthProvModeAllowedPresent; TBool iAuthProvModeAllowed; @@ -169,10 +367,34 @@ // the client with a PAC before but is not currently selected as the default server. // EAP-FAST specific. TBool iWarnNotDefaultServerPresent; - TBool iWarnNotDefaultServer; + 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; + }; -#include "EapSettings.inl" +//#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) + + +//------------------------------------------------------------------------------- #endif + // End of file diff -r 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_type_api/inc/EapSettings.inl --- a/accesssec_plat/eap_type_api/inc/EapSettings.inl Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +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.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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_type_api/inc/EapTraceSymbian.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_type_api/inc/EapTraceSymbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,102 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_type_api/inc/EapType.h --- a/accesssec_plat/eap_type_api/inc/EapType.h Thu Aug 19 09:58:27 2010 +0300 +++ b/accesssec_plat/eap_type_api/inc/EapType.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 18.1.3 % +* %version: 33 % */ #ifndef _EAPTYPE_H_ @@ -27,6 +27,7 @@ #include #include +#include // FORWARD DECLARATIONS class abs_eap_am_tools_c; @@ -39,101 +40,38 @@ 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 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); - + /** + * 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); + /** * 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* GetInfoLC() = 0; - + virtual CEapTypeInfo* GetInfoL() = 0; + /** * Deletes EAP type configuration */ @@ -150,35 +88,11 @@ 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 TInt aTunnelingType) = 0; + virtual void SetTunnelingType(const TEapExpandedType aTunnelingType) = 0; /** * Changes the index of the saved parameters. diff -r 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_type_api/inc/EapType.inl --- a/accesssec_plat/eap_type_api/inc/EapType.inl Thu Aug 19 09:58:27 2010 +0300 +++ b/accesssec_plat/eap_type_api/inc/EapType.inl Tue Aug 31 15:16:37 2010 +0300 @@ -16,119 +16,53 @@ */ /* -* %version: 11.1.2 % +* %version: 22 % */ -/* 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) - - -inline CEapType* CEapType::NewL(const TDesC8& aCue, TIndexType aIndexType, TInt aIndex) +// Used By UI +inline CEapType* CEapType::NewL(const TIndexType aIndexType, const TInt aIndex, const TEapExpandedType aEapType) { - // 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); + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapType::NewL(EapGeneric): start"))); + + // The arguments are stored to a iapInfo struct. + SIapInfo iapInfo; + iapInfo.indexType = aIndexType; + iapInfo.index = aIndex; + iapInfo.aEapType = aEapType; + + // 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 = { 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); + 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_type_api/inc/EapTypeDefinitions.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_type_api/inc/EapTypeDefinitions.h Tue Aug 31 15:16:37 2010 +0300 @@ -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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_type_api/inc/EapTypeInfo.h --- a/accesssec_plat/eap_type_api/inc/EapTypeInfo.h Thu Aug 19 09:58:27 2010 +0300 +++ b/accesssec_plat/eap_type_api/inc/EapTypeInfo.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #ifndef _EAPTYPEINFO_H_ diff -r 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_type_api/inc/EapTypePlugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_type_api/inc/EapTypePlugin.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,207 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_type_api/inc/EapTypePlugin.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accesssec_plat/eap_type_api/inc/EapTypePlugin.inl Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,160 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_vpn_api/eap_vpn_api.metaxml --- a/accesssec_plat/eap_vpn_api/eap_vpn_api.metaxml Thu Aug 19 09:58:27 2010 +0300 +++ b/accesssec_plat/eap_vpn_api/eap_vpn_api.metaxml Tue Aug 31 15:16:37 2010 +0300 @@ -3,7 +3,7 @@ EAP VPN API Interface for VPN implementations to request EAP authentication services c++ - wlaneapol + eapol @@ -11,7 +11,7 @@ - yes + no no diff -r 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_vpn_api/group/bld.inf --- a/accesssec_plat/eap_vpn_api/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ b/accesssec_plat/eap_vpn_api/group/bld.inf Tue Aug 31 15:16:37 2010 +0300 @@ -17,7 +17,7 @@ */ /* -* %version: tr1cfwln#8 % +* %version: % */ #include diff -r 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_vpn_api/inc/abs_eap_vpn_if.h --- a/accesssec_plat/eap_vpn_api/inc/abs_eap_vpn_if.h Thu Aug 19 09:58:27 2010 +0300 +++ b/accesssec_plat/eap_vpn_api/inc/abs_eap_vpn_if.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ #ifndef __EAPPLUGINCALLBACKINTERFACE_H__ diff -r 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_vpn_api/inc/eap_vpn_if.h --- a/accesssec_plat/eap_vpn_api/inc/eap_vpn_if.h Thu Aug 19 09:58:27 2010 +0300 +++ b/accesssec_plat/eap_vpn_api/inc/eap_vpn_if.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: 9.1.2 % */ #ifndef __EAPPLUGININTERFACE_H__ diff -r 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_vpn_api/inc/eap_vpn_if.inl --- a/accesssec_plat/eap_vpn_api/inc/eap_vpn_if.inl Thu Aug 19 09:58:27 2010 +0300 +++ b/accesssec_plat/eap_vpn_api/inc/eap_vpn_if.inl Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: 10.1.2 % */ // Interface's (abstract base class's) static factory method implementation. diff -r 30e048a7b597 -r bad0cc58d154 accesssec_plat/eap_vpn_api/inc/eap_vpn_if_uids.h --- a/accesssec_plat/eap_vpn_api/inc/eap_vpn_if_uids.h Thu Aug 19 09:58:27 2010 +0300 +++ b/accesssec_plat/eap_vpn_api/inc/eap_vpn_if_uids.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: 8.1.2 % */ #ifndef __EAPPLUGINUIDS_H__ diff -r 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapaka_db_api/eapaka_db_api.metaxml --- a/accesssec_plat/eapaka_db_api/eapaka_db_api.metaxml Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ - - - 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapaka_db_api/group/bld.inf --- a/accesssec_plat/eapaka_db_api/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapaka_db_api/inc/EapAkaUiAkaData.h --- a/accesssec_plat/eapaka_db_api/inc/EapAkaUiAkaData.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapaka_db_api/inc/EapAkaUiConnection.h --- a/accesssec_plat/eapaka_db_api/inc/EapAkaUiConnection.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapaka_db_api/inc/EapAkaUiDataConnection.h --- a/accesssec_plat/eapaka_db_api/inc/EapAkaUiDataConnection.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapgtc_db_api/eapgtc_db_api.metaxml --- a/accesssec_plat/eapgtc_db_api/eapgtc_db_api.metaxml Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ - - - 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapgtc_db_api/group/bld.inf --- a/accesssec_plat/eapgtc_db_api/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapgtc_db_api/inc/EapGtcUiConnection.h --- a/accesssec_plat/eapgtc_db_api/inc/EapGtcUiConnection.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapgtc_db_api/inc/EapGtcUiDataConnection.h --- a/accesssec_plat/eapgtc_db_api/inc/EapGtcUiDataConnection.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapgtc_db_api/inc/EapGtcUiGtcData.h --- a/accesssec_plat/eapgtc_db_api/inc/EapGtcUiGtcData.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +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.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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapleap_db_api/eapleap_db_api.metaxml --- a/accesssec_plat/eapleap_db_api/eapleap_db_api.metaxml Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ - - - LEAP DB API - Interface for the LEAP UI to access the settings in the LEAP DBMS database - c++ - wlaneapol - - - - - - - - yes - no - - diff -r 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapleap_db_api/group/bld.inf --- a/accesssec_plat/eapleap_db_api/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapleap_db_api/inc/EapLeapUiConnection.h --- a/accesssec_plat/eapleap_db_api/inc/EapLeapUiConnection.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapleap_db_api/inc/EapLeapUiDataConnection.h --- a/accesssec_plat/eapleap_db_api/inc/EapLeapUiDataConnection.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapleap_db_api/inc/EapLeapUiLeapData.h --- a/accesssec_plat/eapleap_db_api/inc/EapLeapUiLeapData.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapmschapv2_db_api/eapmschapv2_db_api.metaxml --- a/accesssec_plat/eapmschapv2_db_api/eapmschapv2_db_api.metaxml Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ - - - 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapmschapv2_db_api/group/bld.inf --- a/accesssec_plat/eapmschapv2_db_api/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiConnection.h --- a/accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiConnection.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,90 +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.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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiDataConnection.h --- a/accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiDataConnection.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiMsChapV2Data.h --- a/accesssec_plat/eapmschapv2_db_api/inc/EapMsChapV2UiMsChapV2Data.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapsim_db_api/eapsim_db_api.metaxml --- a/accesssec_plat/eapsim_db_api/eapsim_db_api.metaxml Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ - - - 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapsim_db_api/group/bld.inf --- a/accesssec_plat/eapsim_db_api/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapsim_db_api/inc/EapSimUiConnection.h --- a/accesssec_plat/eapsim_db_api/inc/EapSimUiConnection.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapsim_db_api/inc/EapSimUiDataConnection.h --- a/accesssec_plat/eapsim_db_api/inc/EapSimUiDataConnection.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eapsim_db_api/inc/EapSimUiSimData.h --- a/accesssec_plat/eapsim_db_api/inc/EapSimUiSimData.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eaptlspeap_db_api/eaptlspeap_db_api.metaxml --- a/accesssec_plat/eaptlspeap_db_api/eaptlspeap_db_api.metaxml Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ - - - 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eaptlspeap_db_api/group/bld.inf --- a/accesssec_plat/eaptlspeap_db_api/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eaptlspeap_db_api/inc/AbsEapTlsPeapUiCertificates.h --- a/accesssec_plat/eaptlspeap_db_api/inc/AbsEapTlsPeapUiCertificates.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eaptlspeap_db_api/inc/CertEntry.h --- a/accesssec_plat/eaptlspeap_db_api/inc/CertEntry.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eaptlspeap_db_api/inc/EapFastNotifierStruct.h --- a/accesssec_plat/eaptlspeap_db_api/inc/EapFastNotifierStruct.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCertificate.h --- a/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCertificate.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +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.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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCertificates.h --- a/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCertificates.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +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.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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCipherSuite.h --- a/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCipherSuite.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +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.1.2 % -*/ - -#ifndef _EAPTLSPEAPUICIPHERSUITE_H_ -#define _EAPTLSPEAPUICIPHERSUITE_H_ - -#include - -class TEapTlsPeapUiCipherSuite -{ -public: - - TBool iIsEnabled; - TUint iCipherSuite; -}; - -#endif //_EAPTLSPEAPUICIPHERSUITE_H_ - -// End of file diff -r 30e048a7b597 -r bad0cc58d154 accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCipherSuites.h --- a/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiCipherSuites.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiConnection.h --- a/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiConnection.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,146 +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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiDataConnection.h --- a/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiDataConnection.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiEapType.h --- a/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiEapType.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiEapTypes.h --- a/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiEapTypes.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiTlsPeapData.h --- a/accesssec_plat/eaptlspeap_db_api/inc/EapTlsPeapUiTlsPeapData.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/eaptlspeap_db_api/inc/EapTtlsPapNotifierStruct.h --- a/accesssec_plat/eaptlspeap_db_api/inc/EapTtlsPapNotifierStruct.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/group/bld.inf --- a/accesssec_plat/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ b/accesssec_plat/group/bld.inf Tue Aug 31 15:16:37 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2009 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: Build information file +* Description: Build information file * */ /* -* %version: 6 % +* %version: 9 % */ PRJ_PLATFORMS @@ -25,19 +25,7 @@ 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wapi_db_api/group/bld.inf --- a/accesssec_plat/wapi_db_api/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wapi_db_api/inc/WapiCertificates.h --- a/accesssec_plat/wapi_db_api/inc/WapiCertificates.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,139 +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: 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wapi_db_api/wapi_db_api.metaxml --- a/accesssec_plat/wapi_db_api/wapi_db_api.metaxml Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ - - -WAPI DB API -Interface for the WAPI UI to access the settings in the WAPI DBMS database. -c++ -eapol - - - -no -no - - diff -r 30e048a7b597 -r bad0cc58d154 accesssec_plat/wapi_security_settings_ui_api/group/bld.inf --- a/accesssec_plat/wapi_security_settings_ui_api/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wapi_security_settings_ui_api/inc/wapisecuritysettingsui.h --- a/accesssec_plat/wapi_security_settings_ui_api/inc/wapisecuritysettingsui.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,174 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wapi_security_settings_ui_api/wapi_security_settings_ui_api.metaxml --- a/accesssec_plat/wapi_security_settings_ui_api/wapi_security_settings_ui_api.metaxml Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ - - -WAPI Security Settings UI API -API for accessing WAPI security settings UI -c++ -networkingutilities - - - - -yes -no - - diff -r 30e048a7b597 -r bad0cc58d154 accesssec_plat/wep_security_settings_ui_api/group/bld.inf --- a/accesssec_plat/wep_security_settings_ui_api/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wep_security_settings_ui_api/inc/WEPSecuritySettingsUI.h --- a/accesssec_plat/wep_security_settings_ui_api/inc/WEPSecuritySettingsUI.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,246 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wep_security_settings_ui_api/wep_security_settings_ui_api.metaxml --- a/accesssec_plat/wep_security_settings_ui_api/wep_security_settings_ui_api.metaxml Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ - - -WEP Security Settings UI API -API for accessing WEP security settings UI -c++ -networkingutilities - - - - -yes -no - - diff -r 30e048a7b597 -r bad0cc58d154 accesssec_plat/wi-fi_protected_setup_ui_api/group/bld.inf --- a/accesssec_plat/wi-fi_protected_setup_ui_api/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wi-fi_protected_setup_ui_api/inc/WiFiProtReturn.h --- a/accesssec_plat/wi-fi_protected_setup_ui_api/inc/WiFiProtReturn.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiclient.h --- a/accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiclient.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,120 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiddefs.h --- a/accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiddefs.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,37 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiinprocess.h --- a/accesssec_plat/wi-fi_protected_setup_ui_api/inc/wifiprotuiinprocess.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,91 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wi-fi_protected_setup_ui_api/wi-fi_protected_setup_ui_api.metaxml --- a/accesssec_plat/wi-fi_protected_setup_ui_api/wi-fi_protected_setup_ui_api.metaxml Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ - - - 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wlan_eap_settings_ui_api/group/bld.inf --- a/accesssec_plat/wlan_eap_settings_ui_api/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wlan_eap_settings_ui_api/inc/EAPPluginConfigurationIf.h --- a/accesssec_plat/wlan_eap_settings_ui_api/inc/EAPPluginConfigurationIf.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,120 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wlan_eap_settings_ui_api/inc/EAPPluginConfigurationIf.inl --- a/accesssec_plat/wlan_eap_settings_ui_api/inc/EAPPluginConfigurationIf.inl Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wlan_eap_settings_ui_api/inc/EapAkaUi.h --- a/accesssec_plat/wlan_eap_settings_ui_api/inc/EapAkaUi.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wlan_eap_settings_ui_api/inc/EapGtcUi.h --- a/accesssec_plat/wlan_eap_settings_ui_api/inc/EapGtcUi.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wlan_eap_settings_ui_api/inc/EapLeapUi.h --- a/accesssec_plat/wlan_eap_settings_ui_api/inc/EapLeapUi.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wlan_eap_settings_ui_api/inc/EapMschapv2Ui.h --- a/accesssec_plat/wlan_eap_settings_ui_api/inc/EapMschapv2Ui.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wlan_eap_settings_ui_api/inc/EapPeapUi.h --- a/accesssec_plat/wlan_eap_settings_ui_api/inc/EapPeapUi.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wlan_eap_settings_ui_api/inc/EapSimUi.h --- a/accesssec_plat/wlan_eap_settings_ui_api/inc/EapSimUi.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wlan_eap_settings_ui_api/inc/EapTlsUi.h --- a/accesssec_plat/wlan_eap_settings_ui_api/inc/EapTlsUi.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wlan_eap_settings_ui_api/inc/EapTtlsUi.h --- a/accesssec_plat/wlan_eap_settings_ui_api/inc/EapTtlsUi.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wlan_eap_settings_ui_api/inc/eapfastui.h --- a/accesssec_plat/wlan_eap_settings_ui_api/inc/eapfastui.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wlan_eap_settings_ui_api/inc/papui.h --- a/accesssec_plat/wlan_eap_settings_ui_api/inc/papui.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wlan_eap_settings_ui_api/wlan_eap_settings_ui_api.metaxml --- a/accesssec_plat/wlan_eap_settings_ui_api/wlan_eap_settings_ui_api.metaxml Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ - - - WLAN EAP Settings UI API - API for accessing EAP settings UI - c++ - networkingutilities - - - - - - - - - - - - - - - - yes - no - - diff -r 30e048a7b597 -r bad0cc58d154 accesssec_plat/wpa_security_settings_ui_api/group/bld.inf --- a/accesssec_plat/wpa_security_settings_ui_api/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wpa_security_settings_ui_api/inc/WPASecuritySettingsUI.h --- a/accesssec_plat/wpa_security_settings_ui_api/inc/WPASecuritySettingsUI.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,252 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 accesssec_plat/wpa_security_settings_ui_api/wpa_security_settings_ui_api.metaxml --- a/accesssec_plat/wpa_security_settings_ui_api/wpa_security_settings_ui_api.metaxml Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ - - -WPA Security Settings UI API -API for accessing WPA security settings UI -c++ -networkingutilities - - - - -yes -no - - diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/DSS_random/dss_random.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: 10.1.5 % */ // This is enumeration of EAPOL source code. @@ -46,6 +46,7 @@ static const u32_t DEBUG_BUFFER_SIZE = 80; + /** * dss_random_G() implements the G() function using modified SHA-1. * @code @@ -73,7 +74,7 @@ * X= 47c27eb6 16dba413 91e5165b e9c5e397 7e39a15d * @endcode */ -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) +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) { u32_t *out_array = reinterpret_cast(out); @@ -92,12 +93,25 @@ ); if (status != eap_status_ok) { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("eap_sha1_dss_G_function(): status = %d"), + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("ERROR: 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 @@ -163,7 +177,16 @@ u8_t debug_buffer[DEBUG_BUFFER_SIZE]; EAP_UNREFERENCED_PARAMETER(debug_buffer); - dss_random_G(m_am_tools, &(out[ind*BLOCK_SIZE]), BLOCK_SIZE, tmp_xkey, BLOCK_SIZE); + 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; + } 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"), @@ -204,14 +227,7 @@ tmp_xkey, sizeof(tmp_xkey))); } - 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); + CLEAN_OPENSSL_BN(ctx); return eap_status_ok; } diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/DSS_random/dss_random.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #include "eap_am_types.h" diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/abs_eap_am_mutex.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/abs_eap_am_semaphore.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/bloom_algorithm/eap_am_bloom_algorithm.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -153,7 +153,7 @@ } else { - const u8_t mask = 0xff << shift; + const u8_t mask = static_cast(0xff << shift); bit_index |= (input_data[data_ind] & mask) >> (shift); } } diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/crypto/md4/eap_am_crypto_md4.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/crypto/random/eap_am_random_test.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/crypto/rc4/eap_am_crypto_rc4.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/crypto/sha-256/eap_am_crypto_sha_256.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 14 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/crypto/sha1/eap_am_crypto_sha1.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/common/eap_am_memory.cpp --- a/eapol/eapol_framework/eapol_common/am/common/eap_am_memory.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/eap_am_memory.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/eap_am_memory_store.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 16 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/eap_am_memory_store_data.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/eap_am_network_id.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 14 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -364,7 +364,8 @@ // EAP_FUNC_EXPORT const u8_t * eap_am_network_id_c::get_source() const { - if (m_data == 0) + if (m_data == 0 + || m_data->m_source.get_is_valid_data() == false) { return 0; } @@ -388,7 +389,8 @@ // EAP_FUNC_EXPORT const u8_t * eap_am_network_id_c::get_destination() const { - if (m_data == 0) + if (m_data == 0 + || m_data->m_destination.get_is_valid_data() == false) { return 0; } @@ -400,7 +402,8 @@ // EAP_FUNC_EXPORT u32_t eap_am_network_id_c::get_source_length() const { - if (m_data == 0) + if (m_data == 0 + || m_data->m_source.get_is_valid_data() == false) { return 0; } @@ -412,7 +415,8 @@ // EAP_FUNC_EXPORT u32_t eap_am_network_id_c::get_destination_length() const { - if (m_data == 0) + if (m_data == 0 + || m_data->m_destination.get_is_valid_data() == false) { return 0; } diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/common/eap_am_tools.cpp --- a/eapol/eapol_framework/eapol_common/am/common/eap_am_tools.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/eap_am_tools.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 25.1.3 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -301,14 +301,14 @@ data_start = ind; } - *cursor_ascii++ = (*data >= 0x20 && *data < 0x7f) ? *data : '.'; + *cursor_ascii++ = static_cast((*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_DEFAULT, (EAPL("TIMER: Timer thread starts.\n"))); + EAP_TRACE_TIMER(this, TRACE_FLAGS_TIMER, (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_DEFAULT, (EAPL("TIMER: get_clock_ticks_of_second() = %lu\n"), + TRACE_FLAGS_TIMER, (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_DEFAULT, + TRACE_FLAGS_TIMER, (EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_enter(): begin\n"))); mutex->mutex_enter(); EAP_TRACE_TIMER( this, - TRACE_FLAGS_DEFAULT, + TRACE_FLAGS_TIMER, (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_DEFAULT, + TRACE_FLAGS_TIMER, (EAPL("TIMER: timer_sleep(): current_sleep_time=%d\n"), static_cast(current_sleep_time))); @@ -515,14 +515,14 @@ EAP_TRACE_TIMER( this, - TRACE_FLAGS_DEFAULT, + TRACE_FLAGS_TIMER, (EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_leave(): begin\n"))); mutex->mutex_leave(this); EAP_TRACE_TIMER( this, - TRACE_FLAGS_DEFAULT, + TRACE_FLAGS_TIMER, (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_DEFAULT, + TRACE_FLAGS_TIMER, (EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_enter(): begin\n"))); mutex->mutex_enter(); EAP_TRACE_TIMER( this, - TRACE_FLAGS_DEFAULT, + TRACE_FLAGS_TIMER, (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_DEFAULT, + TRACE_FLAGS_TIMER, (EAPL("TIMER: empty timer queue\n"))); } else @@ -568,7 +568,7 @@ { EAP_TRACE_TIMER( this, - TRACE_FLAGS_DEFAULT, + TRACE_FLAGS_TIMER, (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_DEFAULT, + TRACE_FLAGS_TIMER, (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_DEFAULT, + TRACE_FLAGS_TIMER, (EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_leave(): begin\n"))); mutex->mutex_leave(this); EAP_TRACE_TIMER( this, - TRACE_FLAGS_DEFAULT, + TRACE_FLAGS_TIMER, (EAPL("MUTEX: eap_am_tools_c::timer_thread_function(): mutex_leave(): end\n"))); delete mutex; - EAP_TRACE_TIMER(this, TRACE_FLAGS_DEFAULT, (EAPL("TIMER: Timer thread stops.\n"))); + EAP_TRACE_TIMER(this, TRACE_FLAGS_TIMER, (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] -= 32; + source_bytes[ind] = static_cast(source_bytes[ind] - 32); } } @@ -1064,7 +1064,7 @@ // +-+-+-+-+-+-+-+-+-+-+ */ value = octet_from_ascii_armor(source_byte); - target[*output_ind] |= (value & 0x30) >> 4u; + target[*output_ind] = static_cast(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] |= (value >> 2u) & 0x0f; + target[*output_ind] = static_cast(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] |= value; + target[*output_ind] = static_cast(target[*output_ind] | value); ++(*output_ind); *missing_bit_count = 0u; } @@ -1656,8 +1656,12 @@ 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(); @@ -1890,7 +1894,7 @@ } previous_data = data[ind]; - data[ind] ^= rnd; + data[ind] = static_cast(data[ind] ^ rnd); if (previous_data != data[ind]) { @@ -1968,7 +1972,7 @@ } previous_data = data[index]; - data[index] ^= rnd; + data[index] = static_cast(data[index] ^ rnd); } while(previous_data == data[index]); @@ -2032,8 +2036,8 @@ return EAP_STATUS_RETURN(this, status); } - delta_length %= (static_cast(sent_packet->get_data_length()) - - static_cast(minimum_packet_length) /*eapol_ethernet_header_wr_c::get_header_length()*/ ); + delta_length = static_cast(delta_length % (static_cast(sent_packet->get_data_length()) + - static_cast(minimum_packet_length))); if (delta_length == 0) { @@ -2431,13 +2435,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] &= 0x0F; - hash[6] |= 0x50; + hash[6] = static_cast(hash[6] & 0x0F); + hash[6] = static_cast(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] &= 0x3F; - hash[8] |= 0x80; + hash[8] = static_cast(hash[8] & 0x3F); + hash[8] = static_cast(hash[8] | 0x80); return EAP_STATUS_RETURN(this, eap_status_ok); } diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/common/eap_file_config.cpp --- a/eapol/eapol_framework/eapol_common/am/common/eap_file_config.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/eap_file_config.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 17.1.3 % +* %version: 33 % */ // This is enumeration of EAPOL source code. @@ -31,6 +31,9 @@ #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 @@ -47,13 +50,13 @@ //----------------------------------------------------------------- //----------------------------------------------------------------- -eap_config_value_c::~eap_config_value_c() +EAP_FUNC_EXPORT eap_config_value_c::~eap_config_value_c() { delete m_subsection_map; m_subsection_map = 0; } -eap_config_value_c::eap_config_value_c( +EAP_FUNC_EXPORT eap_config_value_c::eap_config_value_c( abs_eap_am_tools_c* const tools) : m_am_tools(tools) , m_subsection_map(0) @@ -61,6 +64,13 @@ , 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; @@ -69,37 +79,47 @@ m_is_valid = true; } -void eap_config_value_c::set_subsection( +EAP_FUNC_EXPORT void eap_config_value_c::set_subsection( eap_core_map_c * const subsection_map) { m_subsection_map = subsection_map; } -eap_core_map_c * eap_config_value_c::get_subsection() +EAP_FUNC_EXPORT eap_core_map_c * eap_config_value_c::get_subsection() { return m_subsection_map; } -eap_variable_data_c * eap_config_value_c::get_data() +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 { return &m_data; } -void eap_config_value_c::set_type(const eap_configure_type_e type) +EAP_FUNC_EXPORT void eap_config_value_c::set_type(const eap_configure_type_e type) { m_type = type; } -eap_configure_type_e eap_config_value_c::get_type() +EAP_FUNC_EXPORT eap_configure_type_e eap_config_value_c::get_type() { return m_type; } -void eap_config_value_c::object_increase_reference_count() +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() { } -bool eap_config_value_c::get_is_valid() +EAP_FUNC_EXPORT bool eap_config_value_c::get_is_valid() const { return m_is_valid; } @@ -111,9 +131,10 @@ 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_is_valid(false) + : m_am_tools(tools) + , m_config_map(tools, this) + , m_value_buffer(tools) + , m_is_valid(false) { EAP_UNREFERENCED_PARAMETER(TRACE_FLAGS_CONFIGURE_DATA); // in release @@ -144,7 +165,7 @@ //----------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_file_config_c::expand_environment_variables( +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 @@ -163,22 +184,18 @@ const u8_t env_char = '$'; const u8_t char_left_parenthesis = '('; const u8_t char_right_parenthesis = ')'; - - eap_variable_data_c tmp_value_buffer(m_am_tools); - if (tmp_value_buffer.get_is_valid() == false) + bool expanded_value_when_true = false; + + if (m_value_buffer.get_buffer_length() < MAX_LINE_LENGTH) { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); + 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); + } } - 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) { @@ -505,7 +522,7 @@ if (configure_option.get_is_valid_data() == true && configure_option.get_data_length() > 0ul) { - tmp_value_buffer.reset(); + m_value_buffer.reset_start_offset_and_data_length(); u32_t tmp_index = 0ul; @@ -514,7 +531,7 @@ u32_t length_of_begin = env_start-start_of_value; if (length_of_begin > 0ul) { - status = tmp_value_buffer.set_copy_of_buffer( + status = m_value_buffer.set_copy_of_buffer( expanded_value->get_data(length_of_begin), length_of_begin); if (status != eap_status_ok) @@ -529,7 +546,7 @@ if (configure_option.get_data_length() > 0ul) { - status = tmp_value_buffer.add_data(&configure_option); + status = m_value_buffer.add_data(&configure_option); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -544,7 +561,7 @@ u32_t length_of_end = tmp_end-(env_end+1); if (length_of_end > 0ul) { - status = tmp_value_buffer.add_data( + status = m_value_buffer.add_data( (env_end+1), length_of_end); if (status != eap_status_ok) @@ -557,10 +574,10 @@ } } - if (tmp_value_buffer.get_is_valid_data() == true - && tmp_value_buffer.get_data_length() > 0ul) + if (m_value_buffer.get_is_valid_data() == true + && m_value_buffer.get_data_length() > 0ul) { - status = expanded_value->set_copy_of_buffer(&tmp_value_buffer); + status = expanded_value->set_copy_of_buffer(&m_value_buffer); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -630,10 +647,11 @@ //----------------------------------------------------------------- -EAP_FUNC_EXPORT u8_t * eap_file_config_c::read_hex_byte( +u8_t * eap_file_config_c::read_hex_byte( u8_t * cursor, const u8_t * const end, - u8_t * const hex_byte) + u8_t * const hex_byte, // This buffer is one byte in length. + const u32_t hex_byte_length) { u8_t * start = cursor; bool stop = false; @@ -656,14 +674,15 @@ if (cursor <= end) { - u32_t target_length = sizeof(*hex_byte); + u32_t target_length = hex_byte_length; eap_status_e status = m_am_tools->convert_hex_ascii_to_bytes( start, cursor-start, hex_byte, &target_length); - if (status != eap_status_ok) + if (status != eap_status_ok + || target_length != hex_byte_length) { return 0; } @@ -676,7 +695,7 @@ //----------------------------------------------------------------- -EAP_FUNC_EXPORT u8_t * eap_file_config_c::read_u32_t( +u8_t * eap_file_config_c::read_u32_t( u8_t * cursor, const u8_t * const end, u32_t * const integer) @@ -735,7 +754,7 @@ //----------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_file_config_c::convert_value( +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, @@ -850,27 +869,64 @@ 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); + hex_byte, + BUFFER_SIZE); if (cursor == 0) { break; } - 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); - } + // 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); } } else if (type == eap_configure_type_u32array) @@ -883,6 +939,12 @@ } 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) @@ -916,7 +978,7 @@ //----------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_file_config_c::store_configure( +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) @@ -1262,6 +1324,13 @@ 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()))); + //----------------------------------------------------------------------------- } @@ -1414,7 +1483,7 @@ //----------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_file_config_c::cnf_parse_value( +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, @@ -1542,6 +1611,11 @@ 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) @@ -1578,7 +1652,7 @@ //----------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_file_config_c::cnf_get_string( +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, @@ -1654,7 +1728,7 @@ //----------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_file_config_c::read_subsections( +eap_status_e eap_file_config_c::read_subsections( abs_eap_am_file_input_c * const file, eap_core_map_c * const config_map) { @@ -1690,7 +1764,7 @@ //----------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_file_config_c::read_section( +eap_status_e eap_file_config_c::read_section( abs_eap_am_file_input_c * const file, eap_core_map_c * const config_map) { @@ -1744,42 +1818,38 @@ //----------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_file_config_c::remove_spaces(eap_variable_data_c * const buffer) +eap_status_e eap_file_config_c::remove_spaces(eap_variable_data_c * const buffer) { - eap_variable_data_c tmp(m_am_tools); - if (tmp.get_is_valid() == false) - { - return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); - } - - eap_status_e status(eap_status_ok); - - for (u32_t ind = 0ul; ind < buffer->get_data_length(); ind++) + if (buffer == 0 + || buffer->get_is_valid() == false) { - u8_t * const character = buffer->get_data_offset(ind, sizeof(u8_t)); - if (character == 0) + return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_parameter); + } + + 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); + + for (u32_t ind = 0ul; ind < length; ind++) + { + const u8_t character = source[ind]; + + if (m_am_tools->isspace(character) == false) { - return EAP_STATUS_RETURN(m_am_tools, status); - } - - if (m_am_tools->isspace(*character) == false) - { - status = tmp.add_data(character, sizeof(*character)); - if (status != eap_status_ok) - { - return EAP_STATUS_RETURN(m_am_tools, status); - } + destination[ind_dest] = character; + ++ind_dest; } } // for() - status = buffer->set_copy_of_buffer(&tmp); + eap_status_e status = buffer->set_data_length(ind_dest); return EAP_STATUS_RETURN(m_am_tools, status); } //----------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_file_config_c::remove_leading_spaces( +eap_status_e eap_file_config_c::remove_leading_spaces( eap_variable_data_c * const line) { if (line->get_data_length() == 0) @@ -1814,7 +1884,7 @@ //----------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_file_config_c::file_read_line( +eap_status_e eap_file_config_c::file_read_line( abs_eap_am_file_input_c * const file, eap_variable_data_c * const line) { @@ -1927,7 +1997,7 @@ //----------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_file_config_c::get_subsect( +eap_status_e eap_file_config_c::get_subsect( abs_eap_am_file_input_c * const file, eap_variable_data_c * const line) { @@ -2002,7 +2072,7 @@ //----------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_file_config_c::read_configure( +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, @@ -2063,7 +2133,487 @@ //----------------------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_file_config_c::read_configure( +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( const eap_configuration_field_c * const field, eap_variable_data_c* const data, eap_core_map_c * const config_map, @@ -2161,9 +2711,11 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("WARNING: CONFIG: option type failed: required %d != actual %d\n"), + (EAPL("WARNING: CONFIG: option type failed: required %d=%s != actual %d=%s\n"), field->get_type(), - config->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()))); EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, @@ -2196,6 +2748,12 @@ (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); } @@ -2219,11 +2777,26 @@ field->get_field(), field->get_field_length())); - eap_status_e status = read_configure( - field, - data, - &m_config_map, - true); + 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_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/common/eap_timer_queue.cpp --- a/eapol/eapol_framework/eapol_common/am/common/eap_timer_queue.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/eap_timer_queue.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 14.1.2 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -424,6 +424,16 @@ 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); @@ -689,10 +699,10 @@ if (current != 0) { - EAP_TRACE_TIMER( + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("TIMER: timer_expired(): [0x%08x]->initializer(0x%08x)->timer_expired(") + (EAPL("TIMER: eap_timer_queue_c::timer_expired(): [0x%08x]->initializer(0x%08x)->timer_expired(") EAPL("id 0x%02x, data 0x%08x, original time %8d)\n"), current, current->get_initializer(), @@ -1270,10 +1280,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) @@ -1343,6 +1353,16 @@ 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) { @@ -1438,6 +1458,17 @@ 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; @@ -1505,14 +1536,15 @@ while(cursor != 0) { - EAP_TRACE_TIMER( + EAP_TRACE_DEBUG( m_am_tools, - TRACE_FLAGS_TIMER, - (EAPL("TIMER: [0x%08x] cancel_timer(initializer 0x%08x, ") - EAPL("id 0x%02x, original time %8d)\n"), + 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"), cursor, - initializer, - id, + cursor->get_initializer(), + cursor->get_id(), + cursor->get_data(), cursor->get_original_time())); if (cursor == m_timer_queue) @@ -1677,11 +1709,16 @@ while (cursor != 0) { - EAP_TRACE_TIMER( + EAP_TRACE_DEBUG( m_am_tools, - TRACE_FLAGS_TIMER, - (EAPL("TIMER: [0x%08x] cancel_all_timers()\n"), - cursor)); + 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())); eap_timer_queue_event_c *next = cursor->get_next_same_time(); diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/common/fileconfig_utils.cpp --- a/eapol/eapol_framework/eapol_common/am/common/fileconfig_utils.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/fileconfig_utils.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/stack/eap_am_stack_trace.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/common/stack/eap_am_stack_trace.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_STACK_OUTPUT_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/core/eap_am_wimax_authentication.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/core/eapol_am_wlan_authentication.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: 7.1.3 % */ // This is enumeration of EAPOL source code. @@ -31,7 +31,7 @@ #include "eapol_am_wlan_authentication.h" // -eapol_am_wlan_authentication_c::~eapol_am_wlan_authentication_c() +EAP_FUNC_EXPORT eapol_am_wlan_authentication_c::~eapol_am_wlan_authentication_c() { } diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_aka_algorithm.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_ABS_AKA_ALGORITHM_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_bloom_algorithm_store.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #if !defined(_ABS_EAP_AM_BLOOM_ALGORITHM_STORE_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_crypto.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6 % +* %version: % */ #if !defined( _ABS_EAP_AM_CRYPTO_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_file_input.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 15 % +* %version: % */ #if !defined(_ABS_EAP_AM_FILE_INPUT_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/abs_eap_am_general_settings.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_general_settings.h Tue Aug 31 15:16:37 2010 +0300 @@ -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: 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_memory_store_data.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5 % +* %version: % */ #if !defined( _ABS_EAP_AM_TOOLS_MEMORY_STORE_DATA_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/abs_eap_am_message_if.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_message_if.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,62 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_mutex.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5 % +* %version: % */ #if !defined( _ABS_EAP_AM_MUTEX_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/abs_eap_am_pac_store.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_pac_store.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,80 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/abs_eap_am_plugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_plugin.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,69 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_radius.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #if !defined(_ABS_EAP_AM_TYPE_RADIUS_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_semaphore.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined( _ABS_EAP_AM_SEMAPHORE_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_sim_algorithm.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_ABS_SIM_ALGORITHM_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/abs_eap_am_stack.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_stack.h Tue Aug 31 15:16:37 2010 +0300 @@ -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: % +*/ + +#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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_tools.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7.1.2 % +* %version: % */ #if !defined( _ABS_EAP_AM_TOOLS_H_ ) @@ -369,6 +369,11 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_aka.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_ABS_EAP_AM_TYPE_AKA_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_gsmsim.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined(_ABS_EAP_AM_TYPE_GSMSIM_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_leap.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #ifndef ABS_EAP_AM_TYPE_LEAP_H diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_mschapv2.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #if !defined(_ABS_EAP_AM_TYPE_MSCHAPV2_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_securid.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #ifndef ABS_EAP_AM_TYPE_SECURID_H diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_sim.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_ABS_EAP_AM_TYPE_SIM_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_simple_config.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_ABS_EAP_AM_TYPE_SIMPLE_CONFIG_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_type_tls_peap.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_ABS_EAP_AM_TYPE_TLS_PEAP_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eap_am_wimax_authentication.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined(_ABS_EAP_AM_WIMAX_AUTHENTICATION_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_eapol_am_wlan_authentication.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined(_ABS_EAPOL_AM_WLAN_AUTHENTICATION_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_simple_config_am_services.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ #if !defined(_ABS_SIMPLE_CONFIG_AM_SERVICES_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_tls_am_application_eap_fast.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 28 % +* %version: % */ #if !defined(_ABS_TLS_AM_APPLICATION_EAP_FAST_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/abs_tls_am_services.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 17 % +* %version: % */ #if !defined(_ABS_TLS_AM_SERVICES_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/eap_am_assert.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_assert.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_assert.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6 % +* %version: % */ #if !defined(_EAP_ASSERT_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_compiler_flags.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_md4.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined( _EAP_AM_CRYPTO_MD4_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_openssl.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13 % +* %version: % */ #if !defined( _EAP_AM_CRYPTO_OPENSSL_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_rc4.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ //------------------------------------------------------------ diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_sha1.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined( _EAP_AM_CRYPTO_SHA1_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_crypto_sha_256.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined( _EAP_AM_CRYPTO_SHA_256_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_dh_primes.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #if !defined(_EAP_AM_DH_PRIMES_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/eap_am_export.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_export.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_export.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6 % +* %version: % */ #if !defined( _EAP_EXPORT_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_fast_pac_store_services.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 24 % +* %version: % */ #if !defined(_EAP_AM_FAST_PAC_STORE_SERVICES_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/eap_am_general_settings.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_general_settings.h Tue Aug 31 15:16:37 2010 +0300 @@ -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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/eap_am_memory.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_memory.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_memory.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6 % +* %version: % */ #if !defined(_EAP_MEMORY_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_memory_store.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13 % +* %version: % */ #if !defined( _EAP_AM_MEMORY_STORE_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_memory_store_data.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5 % +* %version: % */ #if !defined( _EAP_AM_TOOLS_MEMORY_STORE_DATA_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/eap_am_message_if.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_message_if.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,93 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_network_id.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined(_EAP_NETWORK_ID_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/eap_am_pac_store.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_pac_store.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,93 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/eap_am_plugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_plugin.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,85 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/eap_am_radius.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_radius.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_radius.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ #if !defined(_EAP_AM_TYPE_RADIUS_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/eap_am_stack.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_stack.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,120 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/eap_am_tools.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_tools.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_tools.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: 8.1.2 % */ #if !defined( _EAP_AM_TOOLS_H_ ) @@ -120,6 +120,7 @@ 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); @@ -321,6 +322,8 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/eap_am_trace.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_trace.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_trace.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #error Not used any more. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_aka.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13 % +* %version: % */ #if !defined(_EAP_AM_TYPE_AKA_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_gsmsim.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5 % +* %version: % */ #if !defined(_EAP_AM_TYPE_GSMSIM_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_leap.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ #ifndef EAP_AM_TYPE_LEAP_H diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_mschapv2.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ #ifndef _EAP_AM_TYPE_MSCHAPV2_H_ diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_securid.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #ifndef EAP_AM_TYPE_SECURID_H diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_sim.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_EAP_AM_TYPE_SIM_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_simple_config.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ #if !defined(_EAP_AM_TYPE_SIMPLE_CONFIG_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_type_tls_peap.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 16 % +* %version: % */ #if !defined(_EAP_AM_TYPE_TLS_PEAP_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/eap_am_types.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_am_types.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_types.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5.1.2 % +* %version: % */ /** @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 + #define EAP_TEMPLATE_CONST const #endif diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_am_wimax_authentication.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 2.1.2 % +* %version: % */ #if !defined(_EAP_AM_WIMAX_AUTHENTICATION_H_) @@ -33,7 +33,6 @@ 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. @@ -55,8 +54,7 @@ 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 abs_eapol_wlan_database_reference_if_c * const wimax_database_reference + const bool is_client_when_true ); /// This is documented in abs_eap_stack_interface_c::get_is_valid(). diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/eap_file_config.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_file_config.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_file_config.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11.1.2 % +* %version: 18 % */ #ifndef _FILECONFIG_H @@ -26,6 +26,8 @@ #include "eap_configuration_field.h" #include "abs_eap_am_file_input.h" +class eap_tlv_header_c; + template Type minimum( Type a, Type b ) @@ -34,7 +36,7 @@ } -class eap_config_value_c +class EAP_EXPORT eap_config_value_c { private: @@ -50,25 +52,29 @@ public: - virtual ~eap_config_value_c(); + EAP_FUNC_IMPORT virtual ~eap_config_value_c(); - eap_config_value_c( + EAP_FUNC_IMPORT eap_config_value_c( abs_eap_am_tools_c* const tools); - void set_subsection( + EAP_FUNC_IMPORT void set_subsection( eap_core_map_c * const subsection_map); - eap_core_map_c * get_subsection(); + EAP_FUNC_IMPORT eap_core_map_c * get_subsection(); + + EAP_FUNC_IMPORT eap_variable_data_c * get_data(); - eap_variable_data_c * get_data(); + EAP_FUNC_IMPORT const eap_variable_data_c * get_const_data() const; - void set_type(const eap_configure_type_e type); + EAP_FUNC_IMPORT void set_type(const eap_configure_type_e type); - eap_configure_type_e get_type(); + EAP_FUNC_IMPORT eap_configure_type_e get_type(); + + EAP_FUNC_IMPORT eap_configure_type_e get_const_type() const; - void object_increase_reference_count(); + EAP_FUNC_IMPORT void object_increase_reference_count(); - bool get_is_valid(); + EAP_FUNC_IMPORT bool get_is_valid() const; }; @@ -139,87 +145,104 @@ { 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_FUNC_IMPORT eap_status_e expand_environment_variables( + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 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_FUNC_IMPORT eap_status_e remove_spaces(eap_variable_data_c * const buffer); + eap_status_e remove_spaces(eap_variable_data_c * const buffer); - EAP_FUNC_IMPORT eap_status_e remove_leading_spaces(eap_variable_data_c * const line); + eap_status_e remove_leading_spaces(eap_variable_data_c * const line); - EAP_FUNC_IMPORT eap_status_e read_section( + eap_status_e read_section( abs_eap_am_file_input_c * const file, eap_core_map_c * const config_map); - EAP_FUNC_IMPORT eap_status_e read_subsections( + eap_status_e read_subsections( abs_eap_am_file_input_c * const file, eap_core_map_c * const config_map); - EAP_FUNC_IMPORT eap_status_e get_subsect( + eap_status_e get_subsect( abs_eap_am_file_input_c * const file, eap_variable_data_c * const line); - EAP_FUNC_IMPORT eap_status_e convert_value( + 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_FUNC_IMPORT eap_status_e store_configure( + 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_FUNC_IMPORT eap_status_e cnf_parse_value( + 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_FUNC_IMPORT eap_status_e cnf_get_string( + 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_FUNC_IMPORT eap_status_e find_rvalue( + 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 ); - EAP_FUNC_IMPORT u8_t * read_hex_byte(u8_t * cursor, const u8_t * const end, u8_t * const hex_byte); + 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_u32_t(u8_t * cursor, const u8_t * const end, u32_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 eap_status_e read_configure( + 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_FUNC_IMPORT eap_status_e file_read_line( + eap_status_e file_read_line( abs_eap_am_file_input_c * const file, eap_variable_data_c * const line); - EAP_FUNC_IMPORT eap_status_e read_configure( + 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( @@ -230,6 +253,9 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/eap_sim_triplets.h --- a/eapol/eapol_framework/eapol_common/am/include/eap_sim_triplets.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eap_sim_triplets.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined(_EAP_SIM_TRIPLETS_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/eapol_am_wlan_authentication.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 2.1.2 % +* %version: % */ #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,6 +44,7 @@ /// 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: //-------------------------------------------------- @@ -57,15 +58,14 @@ //-------------------------------------------------- // - virtual ~eapol_am_wlan_authentication_c(); + EAP_FUNC_IMPORT 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 abs_eapol_wlan_database_reference_if_c * const wlan_database_reference + const bool is_client_when_true ); /// 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 EAP-configuration. - virtual eap_status_e reset_eap_configuration() = 0; + /// Function resets current WPA-configuration. + virtual eap_status_e reset_wpa_configuration() = 0; /// Function sets the new WLAN parameters. virtual eap_status_e set_wlan_parameters( @@ -105,13 +105,6 @@ 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; @@ -128,36 +121,6 @@ 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. @@ -217,21 +180,6 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/ms_mppe_keys.h --- a/eapol/eapol_framework/eapol_common/am/include/ms_mppe_keys.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/ms_mppe_keys.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #if !defined(_MS_MPPE_KEYS_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/ms_mppe_send_recv_key.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #if !defined(_MS_MPPE_SEND_RECV_KEY_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/simple_config_am_services.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 25 % +* %version: % */ #if !defined(_SIMPLE_CONFIG_AM_SERVICES_H_) @@ -52,10 +52,11 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/tls_am_application_eap_fast.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 29 % +* %version: % */ #if !defined(_TLS_AM_APPLICATION_EAP_FAST_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/am/include/tls_am_services.h --- a/eapol/eapol_framework/eapol_common/am/include/tls_am_services.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/include/tls_am_services.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 25 % +* %version: % */ #if !defined(_TLS_AM_SERVICES_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/am/type/tls_peap/tls_am_services.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/asn1_der_type.cpp --- a/eapol/eapol_framework/eapol_common/common/asn1_der_type.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/asn1_der_type.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,9 +16,17 @@ */ /* -* %version: 34 % +* %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 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" @@ -674,7 +682,7 @@ "%02x \0", oid_octet); - u8_t oid = oid_octet & (~OID_HIGH_BIT); + u8_t oid = static_cast(oid_octet & (~OID_HIGH_BIT)); if (ind > offset) { @@ -926,7 +934,7 @@ { if ((extented_tag[0] & static_cast(asn1_high_bit_mask_tag)) == 0) { - return (extented_tag - m_input_data); + return static_cast(extented_tag - m_input_data); } ++extented_tag; @@ -957,7 +965,7 @@ if ((length_octet1 & static_cast(asn1_high_bit_mask_tag)) == 0) { // Short Length field. - return m_offset_of_length_field + asn1_identifier_const_short_length_size; + return static_cast(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)) { @@ -1636,7 +1644,7 @@ status = sub_type->initialize( current_type->get_unused_data_length(), current_type->get_unused_data(), - current_type->get_recursion() + 1u, + static_cast(current_type->get_recursion() + 1u), current_type->get_count_of_sub_types(), debug_buffer); if (status != eap_status_ok) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_base_type.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_base_type.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_base_type.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_buffer.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_buffer.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_buffer.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11.1.5 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_crypto_api.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_crypto_api.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_crypto_api.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 36 % +* %version: % */ // 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] ^= pIV[ind]; + pdata[ind] = static_cast(pdata[ind] ^ pIV[ind]); } } else @@ -595,7 +595,7 @@ for (u32_t ind = 0u; ind < block_size/sizeof(u32_t); ind++) { - pdata[ind] ^= pIV[ind]; + pdata[ind] = static_cast(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] ^= pIV[ind]; + pdata[ind] = static_cast(pdata[ind] ^ pIV[ind]); } } else @@ -616,7 +616,7 @@ for (u32_t ind = 0u; ind < block_size/sizeof(u8_t); ind++) { - pdata[ind] ^= pIV[ind]; + pdata[ind] = static_cast(pdata[ind] ^ pIV[ind]); } } } @@ -5293,7 +5293,7 @@ for (j_ind = 0; j_ind < digest_length; j_ind++) { - p_output[j_ind] ^= p_digest[j_ind]; + p_output[j_ind] = static_cast(p_output[j_ind] ^ p_digest[j_ind]); } } // for() diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_expanded_type.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_expanded_type.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_expanded_type.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12.1.2 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -67,6 +67,38 @@ //-------------------------------------------------- +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); @@ -74,26 +106,17 @@ //-------------------------------------------------- -#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) + eap_type_ietf_values_e * const type) const { if (type == 0) { @@ -120,7 +143,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) + eap_expanded_type_c * const type) const { if (type == 0) { @@ -137,9 +160,10 @@ 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) + eap_variable_data_c * const data) const { - if (data == 0) + if (data == 0 + || data->get_is_valid() == false) { EAP_UNREFERENCED_PARAMETER(am_tools); return EAP_STATUS_RETURN(am_tools, eap_status_illegal_parameter); @@ -221,7 +245,8 @@ abs_eap_am_tools_c * const am_tools, const eap_variable_data_c * const data) { - if (data->get_data_length() != get_eap_expanded_type_size() + if (data == 0 + || data->get_data_length() != get_eap_expanded_type_size() || data->get_data(data->get_data_length()) == 0) { EAP_UNREFERENCED_PARAMETER(am_tools); @@ -271,6 +296,61 @@ //-------------------------------------------------- +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) @@ -391,11 +471,7 @@ 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) @@ -499,22 +575,11 @@ 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); } @@ -543,11 +608,7 @@ 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) @@ -558,8 +619,6 @@ 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)) @@ -632,34 +691,11 @@ 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) @@ -683,8 +719,6 @@ } } -#endif //#if defined(USE_EAP_EXPANDED_TYPES) - //-------------------------------------------------- //-------------------------------------------------- //-------------------------------------------------- @@ -698,8 +732,6 @@ //-------------------------------------------------- //-------------------------------------------------- -#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. @@ -713,20 +745,6 @@ | 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_general_header_base.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_general_header_base.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_general_header_base.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13 % +* %version: 11.1.2 % */ // This is enumeration of EAPOL source code. @@ -53,7 +53,6 @@ , 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) @@ -64,8 +63,6 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_handle.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_handle.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_handle.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_header.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_header.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 20 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_header_string.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_header_string.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_header_string.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -83,9 +83,7 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_master_session_key.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_master_session_key.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_master_session_key.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_memory_store_variable_data.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_method_settings.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/common/eap_method_settings.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,1236 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_network_id_selector.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_network_id_selector.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_network_id_selector.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_rogue_ap_entry.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_rogue_ap_entry.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_rogue_ap_entry.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_sim_triplets.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_sim_triplets.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_sim_triplets.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_state_notification.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_state_notification.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_state_notification.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 20.1.2 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -33,10 +33,13 @@ #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( @@ -58,15 +61,30 @@ , m_eap_type(eap_type_none) , m_previous_state(previous_state) , m_current_state(current_state) - , m_send_network_id(send_network_id) + , m_send_network_id(0) , 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 defined(USE_EAP_EXPANDED_TYPES) + 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 eap_state_notification_c::eap_state_notification_c( abs_eap_am_tools_c * const tools, @@ -87,15 +105,30 @@ , m_eap_type(eap_type) , m_previous_state(previous_state) , m_current_state(current_state) - , m_send_network_id(send_network_id) + , m_send_network_id(0) , 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(); -#endif //#if defined(USE_EAP_EXPANDED_TYPES) + 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 eap_state_notification_c::eap_state_notification_c( @@ -117,12 +150,29 @@ , m_eap_type(eap_type) , m_previous_state(previous_state) , m_current_state(current_state) - , m_send_network_id(send_network_id) + , m_send_network_id(0) , 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 @@ -371,6 +421,7 @@ #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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_status_string.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_status_string.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_status_string.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 17 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_tlv_header.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_tlv_header.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_tlv_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_tlv_message_data.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_tlv_message_data.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_tlv_message_data.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 21 % +* %version: 19.1.2 % */ // This is enumeration of EAPOL source code. @@ -138,7 +138,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, - EAP_TRACE_FLAGS_MESSAGE_DATA, + EAP_TRACE_FLAGS_NEVER, (EAPL("set_message_data()"), value, length)); diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_tools.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_tools.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_tools.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2006 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -11,12 +11,12 @@ * * Contributors: * -* Description: EAP and WLAN authentication protocols. +* Description: Some integer order functions for all platforms. * */ /* -* %version: 15 % +* %version: 13.1.2 % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eap_variable_data.cpp --- a/eapol/eapol_framework/eapol_common/common/eap_variable_data.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eap_variable_data.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 22 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eapol_ethernet_address.cpp --- a/eapol/eapol_framework/eapol_common/common/eapol_ethernet_address.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eapol_ethernet_address.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eapol_ethernet_header.cpp --- a/eapol/eapol_framework/eapol_common/common/eapol_ethernet_header.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eapol_ethernet_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eapol_header.cpp --- a/eapol/eapol_framework/eapol_common/common/eapol_header.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eapol_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/common/eapol_session_key.cpp --- a/eapol/eapol_framework/eapol_common/common/eapol_session_key.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/eapol_session_key.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 14 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/common/wlan_eap_if_send_status.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,9 +16,17 @@ */ /* -* %version: 9 % +* %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 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/dummy_eap_core.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/core/dummy_eap_core.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,1190 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_config.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_config.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eap_config.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_core.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_core.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eap_core.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 63 % +* %version: 58.1.12 % */ // This is enumeration of EAPOL source code. @@ -242,7 +242,7 @@ //-------------------------------------------------- // -eap_status_e eap_core_c::initialize_asynchronous_init_remove_eap_session( +EAP_FUNC_EXPORT 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_status_e eap_core_c::cancel_asynchronous_init_remove_eap_session() +EAP_FUNC_EXPORT 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_status_e eap_core_c::asynchronous_init_remove_eap_session() +EAP_FUNC_EXPORT eap_status_e eap_core_c::asynchronous_init_remove_eap_session() { EAP_TRACE_DEBUG( m_am_tools, @@ -383,29 +383,13 @@ // Remove session only if the stack is not already being deleted if (m_shutdown_was_called == false) { - #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) + #if defined(USE_EAP_CORE_SIMULATOR_VERSION) 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", @@ -433,7 +417,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", @@ -460,22 +444,21 @@ 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 0x%08x=%s.\n"), + (EAPL("eap_core_c::state_notification(), %s, %s, protocol_layer %d=%s, protocol %d=%s, EAP-type 0xfe%06x%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(), - convert_eap_type_to_u32_t(state->get_eap_type()), - eap_string.get_eap_type_string(state->get_eap_type()))); + 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()))); EAP_TRACE_DEBUG( m_am_tools, @@ -506,7 +489,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", @@ -791,9 +774,14 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - eap_status_e status = m_partner->cancel_timer( - this, - EAP_CORE_SESSION_TIMEOUT_ID); + eap_status_e status(eap_status_ok); + + if (m_am_tools != 0) + { + status = m_partner->cancel_timer( + this, + EAP_CORE_SESSION_TIMEOUT_ID); + } EAP_UNREFERENCED_PARAMETER(status); // in release @@ -1312,9 +1300,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) { @@ -1524,17 +1512,15 @@ #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_string.get_eap_type_string(m_retransmission->get_eap_type()), + eap_header_string_c::get_eap_type_string(m_retransmission->get_eap_type()), m_retransmission->get_eap_identifier(), - eap_string.get_eap_type_string(eap.get_type()), + eap_header_string_c::get_eap_type_string(eap.get_type()), eap.get_identifier(), this)); } @@ -2223,7 +2209,8 @@ (m_is_tunneled_eap == true) ? "tunneled": "outer most" )); - if (m_is_client_role == false) + if (m_is_client_role == false + && m_partner != 0) { // Only EAP-server uses timer to re-transmits EAP-packets. m_partner->cancel_timer(this, EAP_CORE_TIMER_RETRANSMISSION_ID); @@ -2404,9 +2391,16 @@ (m_is_tunneled_eap == true) ? "tunneled": "outer most" )); - return m_partner->cancel_timer( - this, - EAP_CORE_FAILURE_RECEIVED_ID); + 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); } //-------------------------------------------------- @@ -2474,9 +2468,16 @@ m_wait_eap_request_type_timeout_set = false; - return m_partner->cancel_timer( - this, - EAP_CORE_WAIT_EAP_REQUEST_TYPE_ID); + 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); } else { @@ -3014,7 +3015,6 @@ //---------------------------------------------------------- -#if defined(USE_EAP_EXPANDED_TYPES) { eap_variable_data_c use_eap_expanded_type(m_am_tools); @@ -3040,7 +3040,6 @@ } } } -#endif //#if defined(USE_EAP_EXPANDED_TYPES) //---------------------------------------------------------- @@ -5403,10 +5402,12 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("WARNING: %s, %s, EAP-identity is unknown: current EAP-type 0x%08x\n"), + (EAPL("WARNING: %s, %s, EAP-identity is unknown: current EAP-type 0xfe%06x%08x=%s\n"), (m_is_client == true) ? "client": "server", (m_is_tunneled_eap == true) ? "tunneled": "outer most", - convert_eap_type_to_u32_t(m_current_eap_type))); + 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))); } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -5488,21 +5489,6 @@ //-------------------------------------------------- -// -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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_core_client_message_if.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/core/eap_core_client_message_if.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,1494 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_core_map.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_core_map.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eap_core_map.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_core_nak_info.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_core_nak_info.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eap_core_nak_info.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_core_retransmission.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_core_retransmission.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eap_core_retransmission.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8.1.2 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -32,13 +32,12 @@ #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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_core_server_message_if.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/core/eap_core_server_message_if.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,2067 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_general_settings_client_message_if.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/core/eap_general_settings_client_message_if.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,813 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_general_settings_message.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/core/eap_general_settings_message.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,43 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_general_settings_server_message_if.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/core/eap_general_settings_server_message_if.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,988 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_pac_store_client_message_if.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/core/eap_pac_store_client_message_if.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,1233 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_pac_store_message_base.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/core/eap_pac_store_message_base.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -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: % +*/ + +// 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_pac_store_server_message_if.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/core/eap_pac_store_server_message_if.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,1343 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_plugin_client_message_if.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/core/eap_plugin_client_message_if.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,1018 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_plugin_message_base.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/core/eap_plugin_message_base.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,49 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_plugin_server_message_if.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/core/eap_plugin_server_message_if.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,1292 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_process_tlv_message_data.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/core/eap_process_tlv_message_data.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,8121 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_session_core.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_session_core.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eap_session_core.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,13 +16,13 @@ */ /* -* %version: 19.1.2 % +* %version: 36 % */ // 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 + #define EAP_FILE_NUMBER_ENUM 731 #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_core_c * const partner, + abs_eap_session_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_core_c * eap_session_core_c::get_partner() +EAP_FUNC_EXPORT abs_eap_session_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("create_new_session() EAP-session"), + (EAPL("eap_session_core_c::create_new_session() EAP-session"), selector.get_data(selector.get_data_length()), selector.get_data_length())); @@ -277,6 +277,14 @@ { 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 @@ -459,7 +467,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("packet_process() EAP-session"), + (EAPL("eap_session_core_c::packet_process() EAP-session"), selector.get_data(selector.get_data_length()), selector.get_data_length())); @@ -467,18 +475,8 @@ 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) @@ -714,7 +712,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_acknowledge() EAP-session"), + (EAPL("eap_session_core_c::eap_acknowledge() EAP-session"), selector.get_data(selector.get_data_length()), selector.get_data_length())); @@ -761,7 +759,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("restart_authentication() EAP-session"), + (EAPL("eap_session_core_c::restart_authentication() EAP-session"), selector.get_data(selector.get_data_length()), selector.get_data_length())); @@ -814,7 +812,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("restart_authentication() EAP-session"), + (EAPL("eap_session_core_c::restart_authentication() EAP-session"), selector.get_data(selector.get_data_length()), selector.get_data_length())); @@ -882,7 +880,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("send_eap_identity_request() EAP-session"), + (EAPL("eap_session_core_c::send_eap_identity_request() EAP-session"), selector.get_data(selector.get_data_length()), selector.get_data_length())); @@ -994,7 +992,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("timer_expired() EAP-session"), + (EAPL("eap_session_core_c::timer_expired() EAP-session"), selector->get_data(selector->get_data_length()), selector->get_data_length())); @@ -1078,14 +1076,14 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_session_core_c::synchronous_cancel_all_eap_sessions() +EAP_FUNC_EXPORT eap_status_e eap_session_core_c::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::synchronous_cancel_all_eap_sessions(): this = 0x%08x => 0x%08x.\n"), + (EAPL("eap_session_core_c::cancel_all_eap_sessions(): this = 0x%08x => 0x%08x.\n"), this, dynamic_cast(this))); @@ -1097,9 +1095,7 @@ //-------------------------------------------------- -#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) - -EAP_FUNC_EXPORT eap_status_e eap_session_core_c::synchronous_create_eap_session( +EAP_FUNC_EXPORT eap_status_e eap_session_core_c::create_eap_session( const eap_am_network_id_c * const receive_network_id) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1107,7 +1103,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::synchronous_create_eap_session(): this = 0x%08x => 0x%08x.\n"), + (EAPL("eap_session_core_c::create_eap_session(): this = 0x%08x => 0x%08x.\n"), this, dynamic_cast(this))); @@ -1137,7 +1133,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("synchronous_create_eap_session() EAP-session"), + (EAPL("eap_session_core_c::create_eap_session() EAP-session"), selector.get_data(selector.get_data_length()), selector.get_data_length())); @@ -1166,11 +1162,10 @@ 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::synchronous_remove_eap_session( +EAP_FUNC_EXPORT eap_status_e eap_session_core_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); @@ -1178,10 +1173,12 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_session_core_c::synchronous_remove_eap_session(): this = 0x%08x => 0x%08x.\n"), + (EAPL("eap_session_core_c::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. @@ -1208,7 +1205,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("synchronous_remove_eap_session() EAP-session"), + (EAPL("eap_session_core_c::remove_eap_session() EAP-session"), selector.get_data(selector.get_data_length()), selector.get_data_length())); @@ -1230,6 +1227,11 @@ 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; } @@ -1261,7 +1263,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("asynchronous_init_remove_eap_session() EAP-session"), + (EAPL("eap_session_core_c::asynchronous_init_remove_eap_session() EAP-session"), state_selector.get_data(state_selector.get_data_length()), state_selector.get_data_length())); @@ -1274,7 +1276,7 @@ //-------------------------------------------------- // -eap_status_e eap_session_core_c::asynchronous_init_remove_eap_session( +EAP_FUNC_EXPORT eap_status_e eap_session_core_c::asynchronous_init_remove_eap_session( const eap_network_id_selector_c * const state_selector) { EAP_TRACE_DEBUG( @@ -1283,7 +1285,7 @@ (EAPL("eap_session_core_c::asynchronous_init_remove_eap_session(): %s.\n"), (m_is_client == true) ? "client": "server")); - // NOTE: we cannot call directly synchronous_remove_eap_session(), because we will + // NOTE: we cannot call directly remove_eap_session(), because we will // return from here to removed object. eap_status_e status = eap_status_process_general_error; @@ -1291,7 +1293,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("asynchronous_init_remove_eap_session() EAP-session"), + (EAPL("eap_session_core_c::asynchronous_init_remove_eap_session() EAP-session"), state_selector->get_data(state_selector->get_data_length()), state_selector->get_data_length())); @@ -1398,21 +1400,6 @@ //-------------------------------------------------- -// -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) { @@ -1460,6 +1447,22 @@ //-------------------------------------------------- +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_session_core_base.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/core/eap_session_core_base.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,89 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_type_selection.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_type_selection.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eap_type_selection.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eap_wimax_authentication.cpp --- a/eapol/eapol_framework/eapol_common/core/eap_wimax_authentication.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eap_wimax_authentication.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5.1.2 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -158,8 +158,7 @@ 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 abs_eapol_wlan_database_reference_if_c* const wimax_database_reference) + const bool is_client_when_true) { EAP_TRACE_DEBUG (tools, @@ -317,15 +316,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->synchronous_cancel_all_eap_sessions(): %s.\n"), + (EAPL("calls eap: eap_wimax_authentication_c:cancel_all_authentication_sessions(): m_eap_core->cancel_all_eap_sessions(): %s.\n"), (m_is_client == true) ? "client": "server")); - status = m_eap_core->synchronous_cancel_all_eap_sessions(); + status = m_eap_core->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->synchronous_cancel_all_eap_sessions(): %s, status = %s.\n"), + (EAPL("returns from eap: eap_wimax_authentication_c:cancel_all_authentication_sessions(): m_eap_core->cancel_all_eap_sessions(): %s, status = %s.\n"), (m_is_client == true) ? "client": "server", eap_status_string_c::get_status_string(status))); diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eapol_core.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_core.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_core.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,13 +16,13 @@ */ /* -* %version: 67.1.2.1.2 % +* %version: 100 % */ // 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 + #define EAP_FILE_NUMBER_ENUM 747 #undef EAP_FILE_NUMBER_DATE #define EAP_FILE_NUMBER_DATE 1127594498 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) @@ -61,6 +61,7 @@ EAP_ASSERT(m_shutdown_was_called == true); delete m_eap_core; + m_eap_core = 0; EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } @@ -77,14 +78,8 @@ abs_eapol_core_c * const partner, const bool is_client_when_true) : m_partner(partner) -#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_eap_core(0) , 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) @@ -98,9 +93,7 @@ , 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); @@ -114,8 +107,19 @@ __DATE__, __TIME__)); - if (m_eap_core != 0 - && m_eap_core->get_is_valid() == true) +#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) { set_is_valid(); } @@ -126,6 +130,118 @@ //-------------------------------------------------- // +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, @@ -265,7 +381,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_WFA_SC + && m_authentication_type != eapol_key_authentication_type_WPS && m_authentication_type != eapol_key_authentication_type_EAP_authentication_no_encryption ) { @@ -279,34 +395,26 @@ 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) { - 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); - } + 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); } - -#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 + { + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, eap_status_drop_packet_quietly); + } } else if (m_is_client == false && eapol.get_packet_type() == eapol_packet_type_logoff) @@ -319,7 +427,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_WFA_SC + && m_authentication_type != eapol_key_authentication_type_WPS #if defined(EAP_USE_WPXM) && m_authentication_type != eapol_key_authentication_type_WPXM #endif //#if defined(EAP_USE_WPXM) @@ -342,7 +450,6 @@ 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 @@ -389,40 +496,6 @@ 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"), @@ -457,7 +530,7 @@ EAP_ASSERT(data_length <= sent_packet->get_data_length()); EAP_ASSERT(sent_packet->get_data_length() <= buffer_length); - if (header_offset < eap_header_wr_c::get_header_length()) + if (header_offset < m_eapol_header_offset+eapol_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); @@ -467,7 +540,7 @@ eapol_header_wr_c eapol( m_am_tools, sent_packet->get_data_offset( - header_offset-eap_header_wr_c::get_header_length(), data_length), + header_offset-eapol_header_wr_c::get_header_length(), data_length), data_length); if (eapol.get_is_valid() == false) @@ -539,8 +612,11 @@ } 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); @@ -672,13 +748,6 @@ 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(), @@ -757,7 +826,7 @@ if (m_authentication_type == eapol_key_authentication_type_EAP_authentication_no_encryption) { - // This is a hack for this security mode. Some APs need broadcast EAPOL-Start-message. + // Some APs need broadcast EAPOL-Start-message. const u8_t BROADCAST_ADDRESS[] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; @@ -864,14 +933,12 @@ { // It is bad idea to terminate on-going authentication // when EAPOL-Start is received. - // Because of that synchronous_remove_eap_session() is called + // Because of that 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->synchronous_remove_eap_session(receive_network_id); + (void) m_eap_core->remove_eap_session(false, receive_network_id); m_block_state_notifications = previous_block; -#endif } if (m_authentication_type == eapol_key_authentication_type_RSNA_EAP @@ -880,7 +947,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_WFA_SC + || m_authentication_type == eapol_key_authentication_type_WPS || m_authentication_type == eapol_key_authentication_type_EAP_authentication_no_encryption ) { @@ -995,6 +1062,13 @@ } } // 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); @@ -1005,6 +1079,9 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, eap_status_not_found); } + +#endif + } //-------------------------------------------------- @@ -1046,13 +1123,14 @@ } status = remove_eapol_key_state( - &send_network_id); + &send_network_id, + true); if (status != eap_status_ok) { EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("WARNING: eapol_core_c::disassociation(): ") + (EAPL("WARNING: eapol_core_c::remove_pmksa_from_cache(): ") EAPL("remove_eapol_key_state(), eap_status_e %d\n"), status)); return EAP_STATUS_RETURN(m_am_tools, status); @@ -1078,8 +1156,6 @@ 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( @@ -1222,7 +1298,8 @@ if (status != eap_status_ok) { status = remove_eapol_key_state( - &send_network_id); + &send_network_id, + true); if (status != eap_status_ok) { EAP_TRACE_DEBUG( @@ -1244,8 +1321,6 @@ 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); } @@ -1284,8 +1359,6 @@ 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, @@ -1382,8 +1455,6 @@ } } -#endif //#if defined(USE_EAPOL_KEY_STATE) - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -1429,8 +1500,6 @@ 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, @@ -1530,8 +1599,6 @@ 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); } @@ -1539,7 +1606,7 @@ //-------------------------------------------------- // -eap_status_e eapol_core_c::read_reassociation_parameters( +EAP_FUNC_EXPORT 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, @@ -1559,8 +1626,6 @@ 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) @@ -1666,8 +1731,6 @@ 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); } @@ -1734,7 +1797,6 @@ 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 @@ -1751,7 +1813,6 @@ 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( @@ -1789,7 +1850,7 @@ //-------------------------------------------------- // -eap_status_e eapol_core_c::complete_reassociation( +EAP_FUNC_EXPORT 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, @@ -1809,8 +1870,6 @@ 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, @@ -1863,7 +1922,6 @@ 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); @@ -1999,8 +2057,6 @@ 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); @@ -2036,20 +2092,6 @@ 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); } @@ -2104,369 +2146,6 @@ //-------------------------------------------------- -#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, @@ -2482,8 +2161,6 @@ return EAP_STATUS_RETURN(m_am_tools, status); } -#endif //#if defined(USE_EAPOL_KEY_STATE) - //-------------------------------------------------- // @@ -2507,10 +2184,7 @@ } m_shutdown_was_called = 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) + eap_status_e status = m_eapol_key_state_map.for_each(shutdown_operation, true); if (m_eap_core != 0) { @@ -2519,9 +2193,7 @@ // 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); } @@ -2647,7 +2319,6 @@ state_notification(¬ification); } } -#if defined(USE_EAPOL_KEY_STATE) else if (id == EAPOL_REMOVE_EAPOL_KEY_HANDSHAKE_ID) { EAP_TRACE_DEBUG( @@ -2663,9 +2334,8 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - (void) remove_eapol_key_state(send_network_id); + (void) remove_eapol_key_state(send_network_id, false); } -#endif //#if defined(USE_EAPOL_KEY_STATE) return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); } @@ -2693,7 +2363,6 @@ = reinterpret_cast(data); delete send_network_id; } -#if defined(USE_EAPOL_KEY_STATE) else if (id == EAPOL_REMOVE_EAPOL_KEY_HANDSHAKE_ID) { @@ -2701,15 +2370,12 @@ = 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) @@ -2768,12 +2434,8 @@ 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) @@ -2824,15 +2486,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::remove_eapol_key_state( - const eap_am_network_id_c * const send_network_id) + const eap_am_network_id_c * const send_network_id, + const bool force_remove) { EAP_TRACE_DEBUG( m_am_tools, @@ -2864,7 +2523,8 @@ if (eapol_key_state != 0) { - if (eapol_key_state->get_marked_removed() == false) + if (force_remove == false + && eapol_key_state->get_marked_removed() == false) { // Do not remove object in use. EAP_TRACE_DEBUG( @@ -2900,14 +2560,10 @@ return EAP_STATUS_RETURN(m_am_tools, status); } -#endif //#if defined(USE_EAPOL_KEY_STATE) - //-------------------------------------------------- -#if defined(USE_EAPOL_KEY_STATE) - // -eap_status_e eapol_core_c::asynchronous_init_remove_eapol_key_state( +EAP_FUNC_EXPORT 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( @@ -2991,8 +2647,6 @@ return EAP_STATUS_RETURN(m_am_tools, status); } -#endif //#if defined(USE_EAPOL_KEY_STATE) - //-------------------------------------------------- EAP_FUNC_EXPORT void eapol_core_c::state_notification( @@ -3043,7 +2697,6 @@ 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()); @@ -3056,7 +2709,6 @@ EAPL("indicate_eapol_key_state_started_eap_authentication(), eap_status_e %d\n"), status)); } -#endif //#if defined(USE_EAPOL_KEY_STATE) } } @@ -3068,10 +2720,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()); + state->get_send_network_id(), + true); if (status != eap_status_ok) { EAP_TRACE_DEBUG( @@ -3081,7 +2733,6 @@ 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) @@ -3092,7 +2743,6 @@ (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()); @@ -3220,7 +2870,6 @@ EAPL("allow_4_way_handshake() failed, no eapol_key_state_c object\n"))); } } -#endif //#if defined(USE_EAPOL_KEY_STATE) } else { @@ -3239,7 +2888,6 @@ 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. @@ -3393,8 +3041,6 @@ state->get_is_client())); } } -#endif //#if defined(USE_EAPOL_KEY_STATE) - m_partner->state_notification(state); } @@ -3463,21 +3109,6 @@ //-------------------------------------------------- -// -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) { @@ -3498,8 +3129,6 @@ //-------------------------------------------------- -#if defined(USE_EAPOL_KEY_STATE) - // EAP_FUNC_EXPORT eap_status_e eapol_core_c::cancel_authentication_session( eapol_key_state_c * const handler, @@ -3522,8 +3151,6 @@ 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() @@ -3545,26 +3172,19 @@ 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->synchronous_cancel_all_eap_sessions(); + status = m_eap_core->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); @@ -3572,8 +3192,6 @@ //-------------------------------------------------- -#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) { @@ -3581,11 +3199,8 @@ 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. @@ -3753,7 +3368,8 @@ if (status != eap_status_ok) { status = remove_eapol_key_state( - &send_network_id); + &send_network_id, + true); if (status != eap_status_ok) { EAP_TRACE_DEBUG( @@ -3771,11 +3387,8 @@ 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 @@ -3852,112 +3465,10 @@ 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 { @@ -3976,29 +3487,6 @@ } } - -#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) { @@ -4006,7 +3494,6 @@ #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. @@ -4019,7 +3506,6 @@ 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); @@ -4037,40 +3523,35 @@ 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_WFA_SC + || authentication_type == eapol_key_authentication_type_WPS || authentication_type == eapol_key_authentication_type_EAP_authentication_no_encryption ) { // Creates a EAP-session. - status = m_eap_core->synchronous_create_eap_session(receive_network_id); + status = m_eap_core->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 ) { @@ -4103,10 +3584,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->synchronous_remove_eap_session(receive_network_id); -#endif + (void) m_eap_core->remove_eap_session( + complete_to_lower_layer, + receive_network_id); status = init_eapol_key_pmksa_caching_timeout( &send_network_id); @@ -4124,8 +3605,6 @@ return EAP_STATUS_RETURN(m_am_tools, status); } -#endif //#if defined(USE_EAPOL_KEY_STATE) - //-------------------------------------------------- /// @see abs_eap_core_c::add_rogue_ap(). @@ -4163,8 +3642,6 @@ 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, @@ -4207,12 +3684,6 @@ 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); } @@ -4233,6 +3704,154 @@ //-------------------------------------------------- - - +#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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_handle_tlv_message_data.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,13 +16,13 @@ */ /* -* %version: 31.1.3 % +* %version: 36 % */ // 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 + #define EAP_FILE_NUMBER_ENUM 715 #undef EAP_FILE_NUMBER_DATE #define EAP_FILE_NUMBER_DATE 1127594498 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) @@ -59,2451 +59,18 @@ EAP_FUNC_EXPORT eapol_handle_tlv_message_data_c::eapol_handle_tlv_message_data_c( abs_eap_am_tools_c * const tools) - : eap_tlv_message_data_c(tools) + : eap_process_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_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); + return m_is_valid && eap_process_tlv_message_data_c::get_is_valid(); } //-------------------------------------------------- - -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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eapol_key_state_client.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_key_state_client.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_key_state_client.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 61 % +* %version: 57.1.6 % */ // This is enumeration of EAPOL source code. @@ -45,7 +45,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::create_4_way_handshake_message_2( +EAP_FUNC_EXPORT 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_status_e eapol_key_state_c::create_4_way_handshake_message_4( +EAP_FUNC_EXPORT 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_status_e eapol_key_state_c::process_4_way_handshake_message_1( +EAP_FUNC_EXPORT 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,14 +421,12 @@ 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"), - state_string.get_eapol_key_descriptor_type_string(eapol_key_message->get_key_descriptor_type()), + eapol_key_state_string_c::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()"); @@ -436,6 +434,7 @@ // 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. @@ -448,10 +447,12 @@ (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 @@ -463,7 +464,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"), - state_string.get_eapol_key_state_string(get_eapol_key_state()))); + eapol_key_state_string_c::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); @@ -769,7 +770,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_a( +EAP_FUNC_EXPORT 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, @@ -962,7 +963,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::process_4_way_handshake_message_3_payloads_b( +EAP_FUNC_EXPORT 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 */, @@ -1120,15 +1121,13 @@ } 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(), - state_string.get_eapol_key_state_string(get_eapol_key_state()))); + eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state()))); } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1138,7 +1137,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::process_4_way_handshake_message_3( +EAP_FUNC_EXPORT 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) @@ -1148,14 +1147,12 @@ 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"), - state_string.get_eapol_key_descriptor_type_string(eapol_key_message->get_key_descriptor_type()), + eapol_key_state_string_c::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()"); @@ -1168,13 +1165,12 @@ 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"), - state_string.get_eapol_key_handshake_type_string(m_eapol_key_handshake_type))); + eapol_key_state_string_c::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); @@ -1192,7 +1188,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"), - state_string.get_eapol_key_state_string(get_eapol_key_state()))); + eapol_key_state_string_c::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); @@ -1429,15 +1425,13 @@ } 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(), - state_string.get_eapol_key_state_string(get_eapol_key_state()))); + eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state()))); } @@ -1448,7 +1442,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::create_eapol_key_handshake_message_0( +EAP_FUNC_EXPORT 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, @@ -1578,7 +1572,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::create_group_key_handshake_message_2( +EAP_FUNC_EXPORT 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, @@ -1721,7 +1715,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::process_group_key_handshake_message_1( +EAP_FUNC_EXPORT 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) @@ -1754,13 +1748,12 @@ 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"), - state_string.get_eapol_key_handshake_type_string(m_eapol_key_handshake_type))); + eapol_key_state_string_c::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); @@ -1774,13 +1767,12 @@ #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"), - state_string.get_eapol_key_state_string(get_eapol_key_state()))); + eapol_key_state_string_c::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); @@ -2117,7 +2109,7 @@ set_eapol_key_state(eapol_key_state_group_key_handshake_successfull); - m_eapol_key_handshake_type = eapol_key_handshake_type_none; + m_eapol_key_handshake_type = eapol_key_handshake_type_authenticated; if (get_is_WPXM() == true) { @@ -2143,15 +2135,13 @@ } 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(), - state_string.get_eapol_key_state_string(get_eapol_key_state()))); + eapol_key_state_string_c::get_eapol_key_state_string(get_eapol_key_state()))); } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -2161,7 +2151,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::process_RC4_key_descriptor( +EAP_FUNC_EXPORT 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) @@ -2179,13 +2169,12 @@ 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"), - state_string.get_eapol_key_handshake_type_string(m_eapol_key_handshake_type))); + eapol_key_state_string_c::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); @@ -2193,13 +2182,12 @@ 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"), - state_string.get_eapol_key_state_string(get_eapol_key_state()))); + eapol_key_state_string_c::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); @@ -2561,7 +2549,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::initialize_4_way_handshake( +EAP_FUNC_EXPORT 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) { @@ -2576,20 +2564,24 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("EAPOL_KEY: %s: eapol_key_state_c::initialize_4_way_handshake()\n"), - (m_is_client == true ? "client": "server"))); + (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))); 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"), - state_string.get_eapol_key_handshake_type_string(m_eapol_key_handshake_type))); + eapol_key_state_string_c::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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eapol_key_state_common.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_key_state_common.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_key_state_common.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 120.1.6.1.2 % +* %version: 135 % */ // This is enumeration of EAPOL source code. @@ -277,7 +277,6 @@ } } -#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) { m_is_associated = true; @@ -288,15 +287,12 @@ (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, @@ -328,7 +324,6 @@ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#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. @@ -338,7 +333,6 @@ 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) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -346,8 +340,6 @@ 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) - //-------------------------------------------------- // @@ -521,9 +513,7 @@ , 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); @@ -616,9 +606,7 @@ , 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); @@ -953,6 +941,8 @@ 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( @@ -1148,8 +1138,6 @@ } -#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); @@ -1161,9 +1149,6 @@ 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); @@ -1421,11 +1406,17 @@ 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, selected_eapol_key_authentication_type %d=%s, m_authentication_type %d=%s.\n"), + (EAPL("EAPOL_KEY: %s: eapol_key_state_c::check_pmksa_cache(): this = 0x%08x, state %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()), + 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", selected_eapol_key_authentication_type, eapol_key_state_string_c::get_eapol_key_authentication_type_string(selected_eapol_key_authentication_type), m_authentication_type, @@ -1569,7 +1560,6 @@ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#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. @@ -1579,7 +1569,6 @@ 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) @@ -1682,7 +1671,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::complete_reassociation( +EAP_FUNC_EXPORT 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, @@ -1745,7 +1734,6 @@ 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; @@ -1756,8 +1744,6 @@ (m_is_client == true) ? "client": "server", (m_is_associated == true) ? "true": "false")); } -#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) - } else { @@ -2693,7 +2679,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::check_is_aes_key_wrap_padding( +EAP_FUNC_EXPORT 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 @@ -2725,7 +2711,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::parse_generic_key_data_payload( +EAP_FUNC_EXPORT 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, @@ -3487,7 +3473,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::parse_key_data( +EAP_FUNC_EXPORT 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, @@ -3659,7 +3645,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::rsna_prf( +EAP_FUNC_EXPORT 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, @@ -3799,7 +3785,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::select_minimum( +EAP_FUNC_EXPORT 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, @@ -3848,7 +3834,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::derive_PTK() +EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::derive_PTK() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -4130,7 +4116,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::create_nonce( +EAP_FUNC_EXPORT 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); @@ -4182,7 +4168,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::create_PMKID() +EAP_FUNC_EXPORT 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; @@ -4319,7 +4305,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::encrypt_key_data( +EAP_FUNC_EXPORT 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); @@ -4552,7 +4538,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::decrypt_key_data( +EAP_FUNC_EXPORT 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); @@ -4701,7 +4687,7 @@ // -eap_status_e eapol_key_state_c::create_key_mic( +EAP_FUNC_EXPORT 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) { @@ -4873,7 +4859,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::verify_key_mic( +EAP_FUNC_EXPORT 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) { @@ -5303,8 +5289,6 @@ //-------------------------------------------------- -#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) - EAP_FUNC_EXPORT bool eapol_key_state_c::get_is_associated() { EAP_TRACE_DEBUG( @@ -5317,8 +5301,6 @@ 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) @@ -5712,7 +5694,6 @@ eap_status_e status(eap_status_process_general_error); -#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) { m_is_associated = false; @@ -5723,7 +5704,6 @@ (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) @@ -6158,7 +6138,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::create_tkip_mic_failure_message( +EAP_FUNC_EXPORT 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, @@ -6494,7 +6474,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::allow_4_way_handshake() +EAP_FUNC_EXPORT 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; @@ -6609,18 +6589,6 @@ 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) { @@ -6642,7 +6610,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::start_group_key_handshake( +EAP_FUNC_EXPORT 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) @@ -6773,7 +6741,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::get_key_length( +EAP_FUNC_EXPORT 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) { @@ -6811,7 +6779,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::process_4_way_handshake_message( +EAP_FUNC_EXPORT 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) @@ -6916,7 +6884,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::process_group_key_handshake_message( +EAP_FUNC_EXPORT 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) @@ -6985,7 +6953,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::process_RSNA_key_descriptor( +EAP_FUNC_EXPORT 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eapol_key_state_server.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_key_state_server.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_key_state_server.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 46.1.2 % +* %version: 49 % */ // This is enumeration of EAPOL source code. @@ -48,7 +48,7 @@ //-------------------------------------------------- // -eap_status_e eapol_key_state_c::create_4_way_handshake_message_1( +EAP_FUNC_EXPORT 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_status_e eapol_key_state_c::create_4_way_handshake_message_3( +EAP_FUNC_EXPORT 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_status_e eapol_key_state_c::send_RC4_eapol_key_messages() +EAP_FUNC_EXPORT 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_status_e eapol_key_state_c::start_4_way_handshake( +EAP_FUNC_EXPORT 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_status_e eapol_key_state_c::process_4_way_handshake_message_2_payloads( +EAP_FUNC_EXPORT 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_status_e eapol_key_state_c::process_4_way_handshake_message_0( +EAP_FUNC_EXPORT 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_status_e eapol_key_state_c::process_4_way_handshake_message_2( +EAP_FUNC_EXPORT 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_status_e eapol_key_state_c::process_4_way_handshake_message_4( +EAP_FUNC_EXPORT 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_status_e eapol_key_state_c::create_group_key_handshake_message_1( +EAP_FUNC_EXPORT 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_status_e eapol_key_state_c::process_group_key_handshake_message_0( +EAP_FUNC_EXPORT 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_status_e eapol_key_state_c::process_group_key_handshake_message_2( +EAP_FUNC_EXPORT 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eapol_key_state_string.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_key_state_string.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_key_state_string.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,13 +16,13 @@ */ /* -* %version: 9.1.2 % +* %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 50 + #define EAP_FILE_NUMBER_ENUM 719 #undef EAP_FILE_NUMBER_DATE #define EAP_FILE_NUMBER_DATE 1127594498 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) @@ -103,6 +103,7 @@ #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) { @@ -128,7 +129,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_WFA_SC) + else EAP_IF_RETURN_STRING(authentication_type, eapol_key_authentication_type_WPS) #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) @@ -146,7 +147,7 @@ //-------------------------------------------------- -eap_const_string eapol_key_state_string_c::get_eapol_key_descriptor_type_string( +EAP_FUNC_EXPORT 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eapol_message_wlan_authentication.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_message_wlan_authentication.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_message_wlan_authentication.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 46.1.2 % +* %version: 62 % */ // 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(eapol_tlv_message_type_function_none) + , m_error_function(eap_tlv_message_type_function_none) , m_use_asyncronous_test(false) , m_is_valid(true) { @@ -109,8 +109,7 @@ m_wauth = eapol_wlan_authentication_c::new_eapol_wlan_authentication( m_am_tools, this, - true, - this); + true); if (m_wauth != 0 && m_wauth->get_is_valid() == true) { @@ -183,7 +182,7 @@ EAP_TRACE_DEBUG( m_am_tools, - TRACE_FLAGS_DEFAULT, + EAP_TRACE_FLAGS_MESSAGE_DATA, (EAPL("TIMER: [0x%08x]->eapol_message_wlan_authentication_c::timer_expired") EAPL("(id 0x%02x, data 0x%08x).\n"), this, id, data)); @@ -194,7 +193,7 @@ { EAP_TRACE_DEBUG( m_am_tools, - TRACE_FLAGS_DEFAULT, + EAP_TRACE_FLAGS_MESSAGE_DATA, (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)); @@ -211,7 +210,7 @@ { EAP_TRACE_DEBUG( m_am_tools, - TRACE_FLAGS_DEFAULT, + EAP_TRACE_FLAGS_MESSAGE_DATA, (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)); @@ -335,6 +334,9 @@ } 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()) @@ -349,6 +351,9 @@ 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( @@ -372,7 +377,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - status = message.add_parameter_data(eapol_tlv_message_type_function_packet_send); + 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); @@ -439,7 +444,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - status = message.add_parameter_data(eapol_tlv_message_type_function_associate); + status = message.add_parameter_data(eap_tlv_message_type_function_associate); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -447,7 +452,7 @@ } status = message.add_parameter_data( - eapol_tlv_message_type_eapol_key_802_11_authentication_mode, + eap_tlv_message_type_eapol_key_802_11_authentication_mode, static_cast(authentication_mode)); if (status != eap_status_ok) { @@ -485,7 +490,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - status = message.add_parameter_data(eapol_tlv_message_type_function_disassociate); + status = message.add_parameter_data(eap_tlv_message_type_function_disassociate); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -540,14 +545,14 @@ EAP_TRACE_DEBUG( m_am_tools, - TRACE_FLAGS_DEFAULT, + EAP_TRACE_FLAGS_MESSAGE_DATA, (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, - TRACE_FLAGS_DEFAULT, + EAP_TRACE_FLAGS_MESSAGE_DATA, (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())); @@ -562,7 +567,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - status = message.add_parameter_data(eapol_tlv_message_type_function_packet_data_session_key); + status = message.add_parameter_data(eap_tlv_message_type_function_packet_data_session_key); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -615,7 +620,7 @@ return; } - status = message.add_parameter_data(eapol_tlv_message_type_function_state_notification); + 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); @@ -673,7 +678,7 @@ EAP_TRACE_DATA_DEBUG( m_am_tools, - TRACE_FLAGS_DEFAULT, + EAP_TRACE_FLAGS_MESSAGE_DATA, (EAPL("eapol_message_wlan_authentication_c::reassociate"), PMKID->get_data(PMKID->get_data_length()), PMKID->get_data_length())); @@ -688,7 +693,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - status = message.add_parameter_data(eapol_tlv_message_type_function_reassociate); + status = message.add_parameter_data(eap_tlv_message_type_function_reassociate); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -703,7 +708,7 @@ } status = message.add_parameter_data( - eapol_tlv_message_type_eapol_key_authentication_type, + eap_tlv_message_type_eapol_key_authentication_type, static_cast(authentication_type)); if (status != eap_status_ok) { @@ -732,33 +737,9 @@ //-------------------------------------------------- -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 eapol_tlv_message_type_function_e function) + const eap_tlv_message_type_function_e function) { wlan_eap_if_send_status_e error_code = wlan_eap_if_send_status_conversion_c::convert(function_status); @@ -775,7 +756,7 @@ } status = message.add_parameter_data( - eapol_tlv_message_type_error, + eap_tlv_message_type_error, static_cast(error_code)); if (status != eap_status_ok) { @@ -927,7 +908,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - status = message.add_parameter_data(eapol_tlv_message_type_function_new_protected_setup_credentials); + 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); @@ -957,62 +938,116 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eapol_message_wlan_authentication_c::process_message_type_error( - EAP_TEMPLATE_CONST eap_array_c * const parameters) +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_status_e status(eap_status_ok); + 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); + } { - // 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) + 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) { - 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); + 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); 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 = static_cast(value); + 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() } + 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); + { - // 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) + // 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_data.get_parameter_data(function_header, &m_error_function); + 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); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1026,13 +1061,59 @@ //-------------------------------------------------- +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_MESSAGE_DATA, + EAP_TRACE_FLAGS_NEVER, (EAPL("eapol_message_wlan_authentication_c::send_message()"), message->get_message_data(), message->get_message_data_length())); @@ -1056,7 +1137,7 @@ (void) send_error_message( status, - eapol_tlv_message_type_function_none); + eap_tlv_message_type_function_none); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -1070,7 +1151,7 @@ (void) send_error_message( status, - eapol_tlv_message_type_function_none); + eap_tlv_message_type_function_none); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -1125,6 +1206,13 @@ { // 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) @@ -1144,7 +1232,7 @@ (void) send_error_message( status, - eapol_tlv_message_type_function_none); + eap_tlv_message_type_function_none); return wlan_eap_if_send_status_conversion_c::convert( EAP_STATUS_RETURN(m_am_tools, status)); @@ -1157,7 +1245,7 @@ (void) send_error_message( status, - eapol_tlv_message_type_function_none); + eap_tlv_message_type_function_none); return wlan_eap_if_send_status_conversion_c::convert( EAP_STATUS_RETURN(m_am_tools, status)); @@ -1167,7 +1255,7 @@ EAP_TRACE_DEBUG( m_am_tools, - TRACE_FLAGS_DEFAULT, + EAP_TRACE_FLAGS_MESSAGE_DATA, (EAPL("TIMER: eapol_message_wlan_authentication_c::process_data(): sets EAPOL_MESSAGE_TIMER_PROCESS_DATA_ID\n"))); status = m_am_tools->am_set_timer( @@ -1197,7 +1285,7 @@ (void) send_error_message( status, - eapol_tlv_message_type_function_none); + eap_tlv_message_type_function_none); return wlan_eap_if_send_status_conversion_c::convert( EAP_STATUS_RETURN(m_am_tools, status)); @@ -1210,7 +1298,7 @@ (void) send_error_message( status, - eapol_tlv_message_type_function_none); + eap_tlv_message_type_function_none); return wlan_eap_if_send_status_conversion_c::convert( EAP_STATUS_RETURN(m_am_tools, status)); @@ -1229,9 +1317,16 @@ { // 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_MESSAGE_DATA, + EAP_TRACE_FLAGS_NEVER, (EAPL("eapol_message_wlan_authentication_c::process_message()"), message->get_message_data(), message->get_message_data_length())); @@ -1245,7 +1340,7 @@ (void) send_error_message( status, - eapol_tlv_message_type_function_none); + eap_tlv_message_type_function_none); return EAP_STATUS_RETURN(m_am_tools, status); } @@ -1258,15 +1353,15 @@ (void) send_error_message( status, - eapol_tlv_message_type_function_none); + 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(eapol_message_payload_index_function); + const eap_tlv_header_c * const function_header = parameters.get_object(eap_message_payload_index_function); if (function_header == 0 - || (function_header->get_type() != eapol_tlv_message_type_error - && function_header->get_type() != eapol_tlv_message_type_function)) + || (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); @@ -1274,18 +1369,18 @@ (void) send_error_message( status, - eapol_tlv_message_type_function_none); + eap_tlv_message_type_function_none); return EAP_STATUS_RETURN(m_am_tools, status); } - if (function_header->get_type() == eapol_tlv_message_type_error) + if (function_header->get_type() == eap_tlv_message_type_error) { status = process_message_type_error(¶meters); } - else // function_header->get_type() == eapol_tlv_message_type_function + else // function_header->get_type() == eap_tlv_message_type_function { - eapol_tlv_message_type_function_e function(eapol_tlv_message_type_function_none); + 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) @@ -1294,53 +1389,53 @@ (void) send_error_message( status, - eapol_tlv_message_type_function_none); + eap_tlv_message_type_function_none); return EAP_STATUS_RETURN(m_am_tools, status); } switch(function) { - case eapol_tlv_message_type_function_check_pmksa_cache: + case eap_tlv_message_type_function_check_pmksa_cache: status = check_pmksa_cache(¶meters); break; - case eapol_tlv_message_type_function_start_authentication: + case eap_tlv_message_type_function_start_authentication: status = start_authentication(¶meters); break; - case eapol_tlv_message_type_function_complete_association: + case eap_tlv_message_type_function_complete_association: status = complete_association(¶meters); break; - case eapol_tlv_message_type_function_disassociation: + case eap_tlv_message_type_function_disassociation: status = disassociation(¶meters); break; - case eapol_tlv_message_type_function_start_preauthentication: + case eap_tlv_message_type_function_start_preauthentication: status = start_preauthentication(¶meters); break; - case eapol_tlv_message_type_function_start_reassociation: + case eap_tlv_message_type_function_start_reassociation: status = start_reassociation(¶meters); break; - case eapol_tlv_message_type_function_complete_reassociation: + case eap_tlv_message_type_function_complete_reassociation: status = complete_reassociation(¶meters); break; - case eapol_tlv_message_type_function_start_WPXM_reassociation: + case eap_tlv_message_type_function_start_WPXM_reassociation: status = start_WPXM_reassociation(¶meters); break; - case eapol_tlv_message_type_function_complete_WPXM_reassociation: + case eap_tlv_message_type_function_complete_WPXM_reassociation: status = complete_WPXM_reassociation(¶meters); break; - case eapol_tlv_message_type_function_packet_process: + case eap_tlv_message_type_function_packet_process: status = packet_process(¶meters); break; - case eapol_tlv_message_type_function_tkip_mic_failure: + case eap_tlv_message_type_function_tkip_mic_failure: status = tkip_mic_failure(¶meters); break; - case eapol_tlv_message_type_function_eap_acknowledge: + case eap_tlv_message_type_function_eap_acknowledge: status = eap_acknowledge(¶meters); break; - case eapol_tlv_message_type_function_update_header_offset: + case eap_tlv_message_type_function_update_header_offset: status = update_header_offset(¶meters); break; - case eapol_tlv_message_type_function_update_wlan_database_reference_values: + case eap_tlv_message_type_function_update_wlan_database_reference_values: status = update_wlan_database_reference_values(¶meters); break; default: @@ -1380,195 +1475,64 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eapol_message_payload_index_first_parameter); + 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); + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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) { - 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() + 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) { - 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); + 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) { - 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); + 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 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) { - 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); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1581,6 +1545,8 @@ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +#if 0 + if (status == eap_status_ok || status == eap_status_not_found) { @@ -1594,7 +1560,7 @@ } status = message.add_parameter_data( - eapol_tlv_message_type_function_complete_check_pmksa_cache); + eap_tlv_message_type_function_complete_check_pmksa_cache); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1620,7 +1586,7 @@ } status = message.add_structured_parameter_header( - eapol_tlv_message_type_array, + eap_tlv_message_type_array, network_id_parameters_size); if (status != eap_status_ok) { @@ -1655,6 +1621,8 @@ } } +#endif //#if 0 + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1672,7 +1640,17 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eapol_message_payload_index_first_parameter); + 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); + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eap_variable_data_c SSID(m_am_tools); @@ -1682,183 +1660,73 @@ 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) { - 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); - } + 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) { - 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); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ++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) { - 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); - } + 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) { - 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; + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } - -#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) { - 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); - } + 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 -#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) - , &receive_network_id -#endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) + WPA_override_enabled, + &receive_network_id ); // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1878,206 +1746,91 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eapol_message_payload_index_first_parameter); + 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); + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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) { - 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); + 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) { - 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); - } + 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) { - 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); - } + 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) { - 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); - } + 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) { - 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); + 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 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) { - 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); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2108,35 +1861,25 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eapol_message_payload_index_first_parameter); + 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); + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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) { - 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); - } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2162,35 +1905,25 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eapol_message_payload_index_first_parameter); + 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); + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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) { - 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); - } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2216,105 +1949,53 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eapol_message_payload_index_first_parameter); + 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); + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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) { - 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); - } + 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) { - 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); - } + 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) { - 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); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_wauth->start_reassociation( @@ -2339,206 +2020,91 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eapol_message_payload_index_first_parameter); + 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); + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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) { - 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); + 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) { - 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); - } + 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) { - 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); - } + 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) { - 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); - } + 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) { - 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); + 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 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) { - 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); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2569,35 +2135,25 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eapol_message_payload_index_first_parameter); + 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); + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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) { - 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); - } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2606,65 +2162,24 @@ 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) { - 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); - } + 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) { - 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); - } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2675,26 +2190,11 @@ if (parameters->get_object_count() > parameter_index) { - 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) + status = message_data.read_parameter_data(parameters, parameter_index, &received_WPA_ie); + if (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); - } - - 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); - } + // This is optional parameter. + (void) EAP_STATUS_RETURN(m_am_tools, status); } } @@ -2706,26 +2206,11 @@ if (parameters->get_object_count() > parameter_index) { - 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) + status = message_data.read_parameter_data(parameters, parameter_index, &sent_WPA_ie); + if (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); - } - - 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); - } + // This is optional parameter. + (void) EAP_STATUS_RETURN(m_am_tools, status); } } @@ -2752,7 +2237,7 @@ return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - status = message.add_parameter_data(eapol_tlv_message_type_function_complete_start_WPXM_reassociation); + status = message.add_parameter_data(eap_tlv_message_type_function_complete_start_WPXM_reassociation); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -2798,106 +2283,54 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eapol_message_payload_index_first_parameter); + 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); + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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) { - 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); + 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) { - 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); - } + 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) { - 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); - } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status = m_wauth->complete_WPXM_reassociation( @@ -2922,70 +2355,41 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eapol_message_payload_index_first_parameter); + 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); + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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) { - 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); - } + 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) { - 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); - } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } - // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - eapol_ethernet_header_wr_c eth( @@ -3021,106 +2425,51 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eapol_message_payload_index_first_parameter); + 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); + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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) { - 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); - } + 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) { - 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; + 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_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) { - 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); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3148,35 +2497,25 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eapol_message_payload_index_first_parameter); + 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); + } + + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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) { - 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); - } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3202,93 +2541,43 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eapol_message_payload_index_first_parameter); - + 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) { - 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); - } + 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_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) { - 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); - } + 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) { - 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); - } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -3308,33 +2597,30 @@ eap_status_e status(eap_status_ok); - u32_t parameter_index(eapol_message_payload_index_first_parameter); - + 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) { - 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); - } + 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); } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eapol_rc4_key_header.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_rc4_key_header.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_rc4_key_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -308,7 +308,8 @@ u8_t * const data = get_header_offset(m_offset_key_index, sizeof(u8_t)); if (data != 0) { - *data = ((*data) & ~m_flag_mask_key_flag) | static_cast((((flags << m_flag_shift_key_flag) & m_flag_mask_key_flag))); + *data = static_cast(((*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 @@ -324,7 +325,8 @@ u8_t * const data = get_header_offset(m_offset_key_index, sizeof(u8_t)); if (data != 0) { - *data = ((*data) & m_flag_mask_key_flag) | static_cast((index & ~m_flag_mask_key_flag)); + *data = static_cast(((*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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_gtk_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_data_payloads.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eapol_rsna_key_header.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_header.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_rsna_key_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 15 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eapol_wlan_authentication.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_wlan_authentication.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_wlan_authentication.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 86.1.2.1.1 % +* %version: 115 % */ // This is enumeration of EAPOL source code. @@ -50,6 +50,7 @@ #include "eap_array_algorithms.h" #include "eap_state_notification.h" #include "eap_automatic_variable.h" +#include "eapol_key_state_string.h" // LOCAL CONSTANTS @@ -84,8 +85,7 @@ 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 abs_eapol_wlan_database_reference_if_c * const wlan_database_reference + const bool is_client_when_true ) { EAP_TRACE_DEBUG( @@ -97,8 +97,7 @@ eapol_am_wlan_authentication_c * m_am_wauth = eapol_am_wlan_authentication_c::new_eapol_am_wlan_authentication( tools, - is_client_when_true, - wlan_database_reference); + is_client_when_true); if (m_am_wauth == 0 || m_am_wauth->get_is_valid() == false) { @@ -158,7 +157,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) @@ -399,12 +398,9 @@ 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 wpa_preshared_key, - const bool WPA_override_enabled -#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) - , + 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_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); @@ -418,8 +414,9 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("Starting authentication, selected_eapol_key_authentication_type = %d.\n"), - selected_eapol_key_authentication_type)); + (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))); EAP_TRACE_RETURN_STRING(m_am_tools, "returns to partner: eapol_wlan_authentication_c::start_authentication()"); @@ -442,11 +439,11 @@ status = m_am_wauth->set_wlan_parameters( SSID, WPA_override_enabled, - wpa_preshared_key, + preshared_key, selected_eapol_key_authentication_type); if (status != eap_status_ok) { - (void) disassociation(0); // Note we have no addresses yet. + (void) internal_disassociation(false, 0); // Note we have no addresses yet. (void) eapol_indication( 0, // Note we have no addresses yet. @@ -458,13 +455,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_eap_configuration(): %s.\n"), + (EAPL("calls: eapol_wlan_authentication_c::start_authentication(): m_am_wauth->reset_wpa_configuration(): %s.\n"), (m_is_client == true) ? "client": "server")); - status = m_am_wauth->reset_eap_configuration(); + status = m_am_wauth->reset_wpa_configuration(); if (status != eap_status_ok) { - (void) disassociation(0); // Note we have no addresses yet. + (void) internal_disassociation(false, 0); // Note we have no addresses yet. (void) eapol_indication( 0, // Note we have no addresses yet. @@ -479,12 +476,6 @@ (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, @@ -500,6 +491,28 @@ // 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) { @@ -520,128 +533,40 @@ 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 (wpa_preshared_key == 0 - //|| wpa_preshared_key->get_is_valid_data() == false + else //if (preshared_key == 0 + //|| preshared_key->get_is_valid_data() == false //|| WPA_override_enabled == false) { - // 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()) + 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) { - // 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"))); + return EAP_STATUS_RETURN(m_am_tools, status); } } -#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); } @@ -717,7 +642,7 @@ TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, (EAPL("Indication sent to WLM: eap_status_this_ap_failed.\n"))); - (void) disassociation(receive_network_id); + (void) internal_disassociation(false, receive_network_id); status = eapol_indication( receive_network_id, @@ -831,7 +756,7 @@ (EAPL("calls: eapol_wlan_authentication_c::complete_association(): this->disassociation(): %s.\n"), (m_is_client == true) ? "client": "server")); - (void) disassociation(receive_network_id); + (void) internal_disassociation(false, receive_network_id); status = eapol_indication( receive_network_id, @@ -849,7 +774,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_WFA_SC + || m_authentication_type == eapol_key_authentication_type_WPS #if defined(EAP_USE_WPXM) || m_authentication_type == eapol_key_authentication_type_WPXM #endif //#if defined(EAP_USE_WPXM) @@ -1024,10 +949,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_eap_configuration(): %s.\n"), + (EAPL("calls: eapol_wlan_authentication_c::start_reassociation(): m_am_wauth->reset_wpa_configuration(): %s.\n"), (m_is_client == true) ? "client": "server")); - status = m_am_wauth->reset_eap_configuration(); + status = m_am_wauth->reset_wpa_configuration(); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1080,9 +1005,10 @@ 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.\n"), + (EAPL("calls partner: eapol_wlan_authentication_c::start_reassociation(): %s: m_partner->reassociate(): m_authentication_type=%d=%s.\n"), (m_is_client == true) ? "client": "server", - m_authentication_type)); + m_authentication_type, + eapol_key_state_string_c::get_eapol_key_authentication_type_string(m_authentication_type))); status = m_partner->reassociate( &send_network_id, @@ -1210,12 +1136,16 @@ 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), @@ -1223,8 +1153,11 @@ 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. @@ -1248,6 +1181,7 @@ EAP_GENERAL_HEADER_COPY_ERROR_PARAMETERS(packet_data, ð_header); } +#if !defined(EAPOL_SKIP_ETHERNET_HEADER) else { EAP_TRACE_DEBUG( @@ -1256,6 +1190,7 @@ (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); @@ -1867,14 +1802,15 @@ 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 0x%08x=%s\n"), + (EAPL("eapol_wlan_authentication_c::state_notification() %s: protocol layer %d=%s, protocol %d=%s, EAP-type 0xfe%06x%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(), - convert_eap_type_to_u32_t(state->get_eap_type()), - eap_string.get_eap_type_string(state->get_eap_type()))); + 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()))); EAP_TRACE_DEBUG( m_am_tools, @@ -1888,26 +1824,6 @@ } -#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) @@ -1959,14 +1875,15 @@ 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 0x%08x=%s\n"), + (EAPL("ERROR: eapol_wlan_authentication_c::state_notification() %s: protocol layer %d=%s, protocol %d=%s, EAP-type 0xfe%06x%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(), - convert_eap_type_to_u32_t(state->get_eap_type()), - eap_string.get_eap_type_string(state->get_eap_type()))); + 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()))); EAP_TRACE_ERROR( m_am_tools, @@ -1978,7 +1895,6 @@ 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, @@ -1995,8 +1911,6 @@ (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( @@ -2021,14 +1935,15 @@ 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 0x%08x=%s\n"), + (EAPL("eapol_wlan_authentication_c::state_notification() %s: protocol layer %d=%s, protocol %d=%s, EAP-type 0xfe%06x%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(), - convert_eap_type_to_u32_t(state->get_eap_type()), - eap_string.get_eap_type_string(state->get_eap_type()))); + 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()))); EAP_TRACE_DEBUG( m_am_tools, @@ -2079,8 +1994,6 @@ (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, @@ -2097,14 +2010,11 @@ (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(); @@ -2125,8 +2035,6 @@ return; } } -#endif //#if defined(USE_EAP_EXPANDED_TYPES) - } break; case eap_state_authentication_terminated_unsuccessfully: @@ -2134,8 +2042,6 @@ 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, @@ -2152,8 +2058,6 @@ (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, @@ -2370,7 +2274,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(&receive_network_id); + (void) disassociation_mutex_must_be_reserved(false, &receive_network_id); eap_status_e status = eapol_indication( &receive_network_id, @@ -2391,7 +2295,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(&receive_network_id); + (void) disassociation_mutex_must_be_reserved(false, &receive_network_id); eap_status_e status = eapol_indication( &receive_network_id, @@ -2412,7 +2316,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(&receive_network_id); + (void) disassociation_mutex_must_be_reserved(false, &receive_network_id); eap_status_e status = eapol_indication( &receive_network_id, @@ -2433,7 +2337,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(&receive_network_id); + (void) disassociation_mutex_must_be_reserved(false, &receive_network_id); } break; @@ -2532,6 +2436,7 @@ 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( @@ -2552,8 +2457,17 @@ (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); } @@ -2598,6 +2512,68 @@ //-------------------------------------------------- // +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, @@ -2606,6 +2582,12 @@ 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( @@ -2628,6 +2610,8 @@ (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, @@ -2636,6 +2620,12 @@ 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); } @@ -2644,6 +2634,7 @@ // 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. ) { @@ -2652,8 +2643,9 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eapol calls: eapol_wlan_authentication_c::disassociation_mutex_must_be_reserved(): %s\n"), - (m_is_client == true) ? "client": "server")); + (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")); EAP_TRACE_RETURN_STRING(m_am_tools, "returns to eapol: eapol_wlan_authentication_c::disassociation_mutex_must_be_reserved()"); @@ -2670,7 +2662,9 @@ (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(receive_network_id); + status = m_ethernet_core->disassociation( + complete_to_lower_layer, + receive_network_id); EAP_TRACE_DEBUG( m_am_tools, @@ -2720,6 +2714,37 @@ //-------------------------------------------------- // +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. ) @@ -2730,15 +2755,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); - WAUTH_ENTER_MUTEX(m_am_tools); - status = disassociation_mutex_must_be_reserved(receive_network_id); - WAUTH_LEAVE_MUTEX(m_am_tools); + status = internal_disassociation( + true, + receive_network_id); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); @@ -3298,7 +3323,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); @@ -3317,8 +3342,17 @@ (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); } @@ -3326,7 +3360,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); @@ -3343,15 +3377,23 @@ (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_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::eapol_indication( +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) { @@ -3383,6 +3425,27 @@ 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, @@ -3437,7 +3500,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eapol_wlan_authentication_c::create_upper_stack() +eap_status_e eapol_wlan_authentication_c::create_upper_stack() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -3894,12 +3957,15 @@ } } - EAP_TRACE_DATA_DEBUG( - m_am_tools, - TRACE_FLAGS_DEFAULT, - (EAPL("SIMPLE_CONFIG: new_password"), - new_password->get_data(), - new_password->get_data_length())); + 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_DEBUG( m_am_tools, @@ -3933,6 +3999,146 @@ #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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eapol_wlan_database_reference.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_wlan_database_reference.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_wlan_database_reference.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/eapol_wlan_state.cpp --- a/eapol/eapol_framework/eapol_common/core/eapol_wlan_state.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/eapol_wlan_state.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/core/ethernet_core.cpp --- a/eapol/eapol_framework/eapol_common/core/ethernet_core.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/core/ethernet_core.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 28.1.2 % +* %version: 49 % */ // This is enumeration of EAPOL source code. @@ -126,6 +126,36 @@ 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"))); @@ -180,7 +210,7 @@ if (eth_header.get_type() == eapol_ethernet_type_pae || eth_header.get_type() == eapol_ethernet_type_preauthentication) { - eap_am_network_id_c receive_network_id( + eap_am_network_id_c a_receive_network_id( m_am_tools, eth_header.get_source(), eth_header.get_source_length(), @@ -201,7 +231,7 @@ } status = m_eapol_core->packet_process( - &receive_network_id, + &a_receive_network_id, &eapol, packet_length-eapol_ethernet_header_rd_c::get_header_length()); @@ -219,6 +249,9 @@ (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) + } //-------------------------------------------------- @@ -243,6 +276,24 @@ 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( @@ -320,6 +371,9 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, status); + +#endif //#if defined(EAPOL_SKIP_ETHERNET_HEADER) + } //-------------------------------------------------- @@ -331,11 +385,22 @@ { 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) } //-------------------------------------------------- @@ -447,7 +512,7 @@ //-------------------------------------------------- // -eap_status_e ethernet_core_c::read_reassociation_parameters( +EAP_FUNC_EXPORT 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, @@ -501,7 +566,7 @@ //-------------------------------------------------- // -eap_status_e ethernet_core_c::complete_reassociation( +EAP_FUNC_EXPORT 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, @@ -778,8 +843,6 @@ //-------------------------------------------------- -#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, @@ -805,11 +868,8 @@ 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. @@ -833,11 +893,8 @@ 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. @@ -861,11 +918,8 @@ 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. @@ -900,16 +954,14 @@ 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 ) { @@ -918,13 +970,12 @@ 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) @@ -957,4 +1008,158 @@ //-------------------------------------------------- +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_eap_base_timer.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_base_timer.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_base_timer.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined(_ABS_EAP_BASE_TIMER_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_eap_base_type.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_base_type.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_base_type.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 2.1.2 % +* %version: % */ #if !defined(_ABS_EAP_BASE_TYPE_H_) @@ -258,17 +258,6 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_eap_configuration_if.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_configuration_if.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_configuration_if.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #if !defined(_ABS_EAPOL_WLAN_CONFIGURATION_REFERENCE_IF_H_) @@ -48,6 +48,11 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_eap_core.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_core.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_core.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 2.1.2 % +* %version: % */ #if !defined(_ABS_EAP_CORE_H_) @@ -209,17 +209,6 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_eap_core_map.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_core_map.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_core_map.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined(_ABS_EAP_TYPE_MAP_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_eap_database_reference_if.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_database_reference_if.h Tue Aug 31 15:16:37 2010 +0300 @@ -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: % +*/ + +#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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_eap_general_settings_message.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_general_settings_message.h Tue Aug 31 15:16:37 2010 +0300 @@ -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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_eap_pac_store_message.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_pac_store_message.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,97 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_eap_plugin_message.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_plugin_message.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,89 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_eap_session_core.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_session_core.h Tue Aug 31 15:16:37 2010 +0300 @@ -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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_eap_stack_interface.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_stack_interface.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_stack_interface.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 2.1.2 % +* %version: % */ #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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_eap_state_notification.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_state_notification.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_state_notification.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined(_ABS_EAP_STATE_NOTIFICATION_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_eap_wimax_authentication.h --- a/eapol/eapol_framework/eapol_common/include/abs_eap_wimax_authentication.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eap_wimax_authentication.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined(_ABS_EAP_WIMAX_AUTHENTICATION_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_eapol_core.h --- a/eapol/eapol_framework/eapol_common/include/abs_eapol_core.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eapol_core.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7.1.2 % +* %version: 13 % */ #if !defined(_ABS_EAPOL_CORE_H_) @@ -24,6 +24,9 @@ #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; @@ -36,6 +39,9 @@ /// 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: //-------------------------------------------------- @@ -199,7 +205,19 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_eapol_key_state.h --- a/eapol/eapol_framework/eapol_common/include/abs_eapol_key_state.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eapol_key_state.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7.1.2 % +* %version: % */ #if !defined(_ABS_EAPOL_KEY_STATE_H_) @@ -128,17 +128,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eapol_key_state_map.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #if !defined(_ABS_EAPOL_KEY_STATE_MAP_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eapol_message_wlan_authentication.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 14 % +* %version: % */ #if !defined(_ABS_EAPOL_MESSAGE_WLAN_AUTHENTICATION_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_eapol_wlan_authentication.h --- a/eapol/eapol_framework/eapol_common/include/abs_eapol_wlan_authentication.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_eapol_wlan_authentication.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 2.1.2 % +* %version: 6 % */ #if !defined(_ABS_WLAN_AUTHENTICATION_H_) @@ -142,6 +142,11 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_eapol_wlan_database_reference_if.h --- a/eapol/eapol_framework/eapol_common/include/abs_eapol_wlan_database_reference_if.h Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/abs_ethernet_core.h --- a/eapol/eapol_framework/eapol_common/include/abs_ethernet_core.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/abs_ethernet_core.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 2.1.2 % +* %version: 9 % */ #if !defined(_ABS_ETHERNET_CORE_H_) @@ -25,7 +25,9 @@ #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; @@ -171,6 +173,32 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/asn1_der_type.h --- a/eapol/eapol_framework/eapol_common/include/asn1_der_type.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/asn1_der_type.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 30 % +* %version: % */ #if !defined(_ASN1_TYPE_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/dummy_eap_core.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/dummy_eap_core.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,738 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_array.h --- a/eapol/eapol_framework/eapol_common/include/eap_array.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_array.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4.1.5 % +* %version: % */ #if !defined(_EAP_ARRAY_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_array_algorithms.h --- a/eapol/eapol_framework/eapol_common/include/eap_array_algorithms.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_array_algorithms.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 19.1.4 % +* %version: % */ #if !defined(_EAP_ARRAY_ALGORITHMS_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_automatic_variable.h --- a/eapol/eapol_framework/eapol_common/include/eap_automatic_variable.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_automatic_variable.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13.1.2 % +* %version: % */ #if !defined(_EAP_AUTOMATIC_VARIABLE_H_) @@ -244,6 +244,8 @@ /// This is pointer to the string that will be traced on destructor. eap_format_string m_string; + u32_t m_trace_flags; + public: /** @@ -257,7 +259,7 @@ { EAP_TRACE_DEBUG( m_am_tools, - TRACE_FLAGS_DEFAULT, + m_trace_flags, (EAPL("<<< %s <<<\n"), m_string)); } @@ -271,7 +273,23 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_base_type.h --- a/eapol/eapol_framework/eapol_common/include/eap_base_type.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_base_type.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined(_EAP_BASE_TYPE_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_buffer.h --- a/eapol/eapol_framework/eapol_common/include/eap_buffer.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_buffer.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #if !defined(_EAP_BUFFER_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_config.h --- a/eapol/eapol_framework/eapol_common/include/eap_config.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_config.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4.1.3 % +* %version: % */ #if !defined(_EAP_CONFIG_H_) @@ -697,6 +697,27 @@ #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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_configuration_field.h --- a/eapol/eapol_framework/eapol_common/include/eap_configuration_field.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_configuration_field.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4.1.2 % +* %version: % */ #if !defined(_EAP_CONFIGURATION_FIELD_H_) @@ -43,6 +43,7 @@ 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. }; //-------------------------------------------------------------------------------------------------- @@ -177,6 +178,26 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_core.h --- a/eapol/eapol_framework/eapol_common/include/eap_core.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_core.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 15 % +* %version: % */ /** @@ -915,9 +915,6 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_core_client_message_if.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/eap_core_client_message_if.h Tue Aug 31 15:16:37 2010 +0300 @@ -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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_core_map.h --- a/eapol/eapol_framework/eapol_common/include/eap_core_map.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_core_map.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5.1.3 % +* %version: % */ #if !defined(_EAP_TYPE_MAP_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_core_nak_info.h --- a/eapol/eapol_framework/eapol_common/include/eap_core_nak_info.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_core_nak_info.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_EAP_CORE_NAK_INFO_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_core_retransmission.h --- a/eapol/eapol_framework/eapol_common/include/eap_core_retransmission.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_core_retransmission.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8.1.2 % +* %version: % */ #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_core_retransmission_c +class EAP_EXPORT eap_core_retransmission_c { private: diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_core_server_message_if.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/eap_core_server_message_if.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,345 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_crypto_api.h --- a/eapol/eapol_framework/eapol_common/include/eap_crypto_api.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_crypto_api.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ #if !defined( _EAP_CRYPTO_API_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_database_reference_if.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/eap_database_reference_if.h Tue Aug 31 15:16:37 2010 +0300 @@ -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: % +*/ + +#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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_expanded_type.h --- a/eapol/eapol_framework/eapol_common/include/eap_expanded_type.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_expanded_type.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10.1.2 % +* %version: 18 % */ #if !defined(_EAP_EXPANDED_TYPE_H_) @@ -43,13 +43,8 @@ }; -#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. @@ -71,12 +66,6 @@ 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. @@ -84,13 +73,6 @@ 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, @@ -103,9 +85,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 = eap_type_ttls_plain_pap, // This is for TTLS/PAP. + eap_type_vendor_type_ttls_plain_pap_hack = 98, // This is for TTLS/PAP. #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) - eap_type_vendor_type_plain_MSCHAPv2_hack = eap_type_plain_mschapv2, // This is for plain MCHAPv2 and TTLS + eap_type_vendor_type_plain_MSCHAPv2_hack = 99, // This is for plain MCHAPv2 and TTLS #endif //#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) }; @@ -126,6 +108,7 @@ 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(); @@ -137,30 +120,37 @@ 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); + eap_type_ietf_values_e * const type) const; EAP_FUNC_IMPORT eap_status_e get_type_data( abs_eap_am_tools_c * const am_tools, - eap_expanded_type_c * const type); + eap_expanded_type_c * const type) const; EAP_FUNC_IMPORT eap_status_e get_expanded_type_data( abs_eap_am_tools_c * const am_tools, - eap_variable_data_c * const data); + eap_variable_data_c * const data) const; 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); @@ -193,11 +183,7 @@ 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. @@ -207,16 +193,10 @@ 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: @@ -277,21 +257,12 @@ //----------------------------------------------------------------------------------------- -#if defined(USE_EAP_EXPANDED_TYPES) - - typedef eap_expanded_type_c eap_type_value_e; +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); -#else - - EAP_C_FUNC_IMPORT u32_t convert_eap_type_to_u32_t(eap_type_value_e type); +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); - -#endif //#if defined(USE_EAP_EXPANDED_TYPES) +EAP_C_FUNC_IMPORT u64_t convert_eap_type_to_u64_t(eap_type_value_e type); //----------------------------------------------------------------------------------------- diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_general_header_base.h --- a/eapol/eapol_framework/eapol_common/include/eap_general_header_base.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_general_header_base.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined(_EAP_GENERAL_HEADER_BASE_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_general_settings_client_message_if.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/eap_general_settings_client_message_if.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,150 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_general_settings_message.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/eap_general_settings_message.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,100 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_general_settings_server_message_if.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/eap_general_settings_server_message_if.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,164 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_handle.h --- a/eapol/eapol_framework/eapol_common/include/eap_handle.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_handle.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #error Do not use this anymore. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_header.h --- a/eapol/eapol_framework/eapol_common/include/eap_header.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6 % +* %version: % */ #if !defined(_EAP_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_header_string.h --- a/eapol/eapol_framework/eapol_common/include/eap_header_string.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_header_string.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined( _EAP_HEADER_STRING_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_master_session_key.h --- a/eapol/eapol_framework/eapol_common/include/eap_master_session_key.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_master_session_key.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5 % +* %version: % */ #if !defined(_EAP_MASTER_SESSION_KEY_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_memory_store_variable_data.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #ifndef EAP_MEMORY_STORE_VARIABLE_DATA_H diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_method_settings.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/eap_method_settings.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,312 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_network_id_selector.h --- a/eapol/eapol_framework/eapol_common/include/eap_network_id_selector.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_network_id_selector.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_EAP_NETWORK_ID_SELECTOR_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_pac_store_client_message_if.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/eap_pac_store_client_message_if.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,185 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_pac_store_message_base.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/eap_pac_store_message_base.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,126 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_pac_store_server_message_if.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/eap_pac_store_server_message_if.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,188 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_plugin_client_message_if.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/eap_plugin_client_message_if.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,162 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_plugin_message_base.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/eap_plugin_message_base.h Tue Aug 31 15:16:37 2010 +0300 @@ -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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_plugin_server_message_if.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/eap_plugin_server_message_if.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,174 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_process_tlv_message_data.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/eap_process_tlv_message_data.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,669 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_protocol_layer.h --- a/eapol/eapol_framework/eapol_common/include/eap_protocol_layer.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_protocol_layer.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 14 % +* %version: % */ #if !defined(_EAP_PROTOCOL_LAYER_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_rogue_ap_entry.h --- a/eapol/eapol_framework/eapol_common/include/eap_rogue_ap_entry.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_rogue_ap_entry.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #ifndef EAP_ROGUE_AP_ENTRY_H diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_session_core.h --- a/eapol/eapol_framework/eapol_common/include/eap_session_core.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_session_core.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9.1.2 % +* %version: 24 % */ #if !defined(_EAP_SESSION_CORE_H_) @@ -24,11 +24,13 @@ #include "eap_tools.h" #include "eap_am_export.h" -#include "abs_eap_core.h" +#include "abs_eap_session_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; @@ -53,13 +55,14 @@ , 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_core_c * const m_partner; + abs_eap_session_core_c * const m_partner; /// This is pointer to the tools class. abs_eap_am_tools_c * const m_am_tools; @@ -120,7 +123,7 @@ */ EAP_FUNC_IMPORT eap_session_core_c( abs_eap_am_tools_c * const tools, - abs_eap_core_c * const partner, + abs_eap_session_core_c * const partner, const bool is_client_when_true); /** @@ -138,7 +141,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 synchronous_cancel_all_eap_sessions(); + 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( @@ -165,7 +168,7 @@ /** * The get_partner() function returns pointer to partner class. */ - EAP_FUNC_IMPORT abs_eap_core_c * get_partner(); + EAP_FUNC_IMPORT abs_eap_session_core_c * get_partner(); /** * The get_header_offset() function obtains the header offset of EAP-packet. @@ -316,20 +319,19 @@ 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 synchronous_create_eap_session( + EAP_FUNC_IMPORT eap_status_e 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 synchronous_remove_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); /** @@ -358,9 +360,6 @@ 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(). @@ -374,6 +373,20 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_session_core_base.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_common/include/eap_session_core_base.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,166 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_sort.h --- a/eapol/eapol_framework/eapol_common/include/eap_sort.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_sort.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ #if !defined(_EAP_SORT_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_state_notification.h --- a/eapol/eapol_framework/eapol_common/include/eap_state_notification.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_state_notification.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined(_EAP_STATE_NOTIFICATION_H_) @@ -92,9 +92,6 @@ 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, @@ -107,9 +104,6 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_state_selector.h --- a/eapol/eapol_framework/eapol_common/include/eap_state_selector.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_state_selector.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ #if !defined(_EAP_STATE_SELECTOR_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_state_store.h --- a/eapol/eapol_framework/eapol_common/include/eap_state_store.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_state_store.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_EAP_STATE_STORE_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_status.h --- a/eapol/eapol_framework/eapol_common/include/eap_status.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_status.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_EAP_STATUS_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_status_string.h --- a/eapol/eapol_framework/eapol_common/include/eap_status_string.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_status_string.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined( _EAP_STATUS_STRING_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_timer_queue.h --- a/eapol/eapol_framework/eapol_common/include/eap_timer_queue.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_timer_queue.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined(_EAP_TIMER_QUEU_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_tlv_header.h --- a/eapol/eapol_framework/eapol_common/include/eap_tlv_header.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_tlv_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5 % +* %version: % */ #if !defined(_EAP_TLV_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_tlv_message_data.h --- a/eapol/eapol_framework/eapol_common/include/eap_tlv_message_data.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_tlv_message_data.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6 % +* %version: % */ #if !defined(_EAP_TLV_MESSAGE_DATA_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_tools.h --- a/eapol/eapol_framework/eapol_common/include/eap_tools.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_tools.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8.1.2 % +* %version: 12 % */ #if !defined( _EAP_TOOLS_H_ ) @@ -347,6 +347,8 @@ #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 @@ -415,13 +417,12 @@ #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) & eap_am_tools_c::eap_trace_mask_error))) \ + if (((*(object_name)).get_trace_mask() & (flags))) \ { \ - (*(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))) \ - { \ + 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 _parameter_list_ ; \ } \ else \ @@ -467,6 +468,9 @@ #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 @@ -484,6 +488,8 @@ #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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_type_all.h --- a/eapol/eapol_framework/eapol_common/include/eap_type_all.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_type_all.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8.1.2 % +* %version: % */ #if !defined(_EAP_TYPE_ALL_H_) @@ -49,8 +49,11 @@ 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, - abs_eap_configuration_if_c * const configuration_if); + 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) + ); //-------------------------------------------------- diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_type_all_types.h --- a/eapol/eapol_framework/eapol_common/include/eap_type_all_types.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_type_all_types.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined(_EAP_TYPE_ALL_TYPES_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_type_selection.h --- a/eapol/eapol_framework/eapol_common/include/eap_type_selection.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_type_selection.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined(_EAP_TYPE_SELECTION_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_variable_data.h --- a/eapol/eapol_framework/eapol_common/include/eap_variable_data.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_variable_data.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_EAP_VARIABLE_DATA_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eap_wimax_authentication.h --- a/eapol/eapol_framework/eapol_common/include/eap_wimax_authentication.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eap_wimax_authentication.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5.1.2 % +* %version: % */ #if !defined(_EAP_WIMAX_AUTHENTICATION_H_) @@ -31,7 +31,6 @@ #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; @@ -63,8 +62,7 @@ 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 abs_eapol_wlan_database_reference_if_c* const wimax_database_reference); + const bool is_client_when_true); EAP_FUNC_IMPORT eap_status_e shutdown(); diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eapol_core.h --- a/eapol/eapol_framework/eapol_common/include/eapol_core.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_core.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 28.1.3 % +* %version: 47 % */ #if !defined(_EAPOL_CORE_H_) @@ -24,22 +24,19 @@ #include "eap_tools.h" #include "eap_am_export.h" -#include "abs_eap_core.h" +#include "abs_eap_session_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" -#if !defined(NO_EAP_SESSION_CORE) - #include "eap_session_core.h" -#endif +#include "eap_session_core_base.h" #include "abs_eap_stack_interface.h" #include "abs_eapol_key_state.h" #include "eapol_rsna_key_header.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) +#include "eapol_key_state.h" +#include "abs_eapol_key_state_map.h" +#include "eap_database_reference_if.h" /** @file */ @@ -74,13 +71,12 @@ /// A eapol_core_c class implements the basic functionality of EAPOL. class EAP_EXPORT eapol_core_c -: public abs_eap_core_c +: public abs_eap_session_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 -#endif //#if defined(USE_EAPOL_KEY_STATE) +, public eap_database_reference_if_c { private: @@ -92,17 +88,11 @@ /// 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. -#if !defined(NO_EAP_SESSION_CORE) - eap_session_core_c * const m_eap_core; -#else - eap_core_c * const m_eap_core; -#endif + eap_session_core_base_c * m_eap_core; -#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; @@ -141,13 +131,10 @@ 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); @@ -155,7 +142,8 @@ 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 eap_am_network_id_c * const send_network_id, + const bool force_remove); 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. @@ -167,7 +155,6 @@ 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: @@ -456,24 +443,17 @@ 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. @@ -486,11 +466,6 @@ 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. @@ -510,35 +485,25 @@ 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); @@ -552,25 +517,37 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eapol_ethernet_address.h --- a/eapol/eapol_framework/eapol_common/include/eapol_ethernet_address.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_ethernet_address.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined(_EAPOL_ETHERNET_ADDRESS_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eapol_ethernet_header.h --- a/eapol/eapol_framework/eapol_common/include/eapol_ethernet_header.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_ethernet_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6 % +* %version: % */ #if !defined(_EAP_ETHERNET_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_handle_tlv_message_data.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,85 +16,18 @@ */ /* -* %version: 25.1.2 % +* %version: % */ -#if !defined(_EAP_CREATE_TLV_MESSAGE_DATA_H_) -#define _EAP_CREATE_TLV_MESSAGE_DATA_H_ +#if !defined(_EAPOL_HANDLE_TLV_MESSAGE_DATA_H_) +#define _EAPOL_HANDLE_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_process_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; @@ -112,7 +45,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_tlv_message_data_c +: public eap_process_tlv_message_data_c { private: //-------------------------------------------------- @@ -141,179 +74,12 @@ 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 @@ -321,7 +87,7 @@ //-------------------------------------------------- -#endif //#if !defined(_EAP_CREATE_TLV_MESSAGE_DATA_H_) +#endif //#if !defined(_EAPOL_HANDLE_TLV_MESSAGE_DATA_H_) // End. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eapol_header.h --- a/eapol/eapol_framework/eapol_common/include/eapol_header.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6 % +* %version: % */ #if !defined(_EAPOL_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eapol_key_header.h --- a/eapol/eapol_framework/eapol_common/include/eapol_key_header.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_key_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5 % +* %version: % */ #if !defined(_EAPOL_KEY_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eapol_key_state.h --- a/eapol/eapol_framework/eapol_common/include/eapol_key_state.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_key_state.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 14.1.5 % +* %version: % */ #if !defined(_EAPOL_KEY_STATE_H_) @@ -289,9 +289,7 @@ /// 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) // - - - - - - - - - - - - - - - - - - - - - - - - @@ -440,9 +438,9 @@ EAP_KEY_TEST_PRIVATE_FUNCTION - EAP_FUNC_IMPORT eap_status_e derive_WPXM_WPXK1_WPXK2(); + eap_status_e derive_WPXM_WPXK1_WPXK2(); - EAP_FUNC_IMPORT eap_status_e derive_WPXM_PTK(const u32_t WPXM_WPXC); + 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, @@ -819,27 +817,16 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eapol_key_state_string.h --- a/eapol/eapol_framework/eapol_common/include/eapol_key_state_string.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_key_state_string.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6 % +* %version: % */ #if !defined(_EAPOL_KEY_STATE_STRING_H_) @@ -69,6 +69,7 @@ */ EAP_FUNC_IMPORT static eap_const_string get_eapol_key_descriptor_type_string( const eapol_key_descriptor_type_e key_descriptor_type); + }; //-------------------------------------------------- diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eapol_key_types.h --- a/eapol/eapol_framework/eapol_common/include/eapol_key_types.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_key_types.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 19.1.2 % +* %version: % */ #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_WFA_SC = 7, ///< Authentication is Wi-Fi Alliance Simple Configure. + eapol_key_authentication_type_WPS = 7, ///< Authentication is Wi-Fi Alliance Protected Setup (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_WFA_SC, - "WFA_SC", + cf_str_EAPOL_key_authentication_type_config_value_WPS, + "WPS", eap_configure_type_string, false); diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eapol_message_wlan_authentication.h --- a/eapol/eapol_framework/eapol_common/include/eapol_message_wlan_authentication.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_message_wlan_authentication.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 25.1.2 % +* %version: 32 % */ #if !defined(EAPOL_MESSAGE_WLAN_AUTHENTICATION_H) @@ -27,7 +27,7 @@ #include "eapol_ethernet_header.h" #include "eap_file_config.h" //#include -#include "abs_eapol_wlan_database_reference_if.h" +#include "abs_eap_database_reference_if.h" #include "abs_eapol_message_wlan_authentication.h" #include "eapol_handle_tlv_message_data.h" @@ -40,7 +40,6 @@ 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: @@ -62,7 +61,7 @@ wlan_eap_if_send_status_e m_error_code; - eapol_tlv_message_type_function_e m_error_function; + eap_tlv_message_type_function_e m_error_function; bool m_use_asyncronous_test; @@ -114,7 +113,7 @@ EAP_FUNC_IMPORT eap_status_e send_error_message( const eap_status_e status, - const eapol_tlv_message_type_function_e function); + const eap_tlv_message_type_function_e function); EAP_FUNC_IMPORT eap_status_e process_message_type_error( EAP_TEMPLATE_CONST eap_array_c * const parameters); @@ -127,7 +126,7 @@ public: - EAP_FUNC_IMPORT ~eapol_message_wlan_authentication_c(); + EAP_FUNC_IMPORT virtual ~eapol_message_wlan_authentication_c(); EAP_FUNC_IMPORT eapol_message_wlan_authentication_c( abs_eap_am_tools_c * const tools, @@ -215,17 +214,6 @@ // ---------------------------------------------------------------- - // ---------------------------------------------------------------------- - // 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. @@ -244,6 +232,12 @@ #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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eapol_rc4_key_header.h --- a/eapol/eapol_framework/eapol_common/include/eapol_rc4_key_header.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_rc4_key_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13 % +* %version: % */ #if !defined(_EAPOL_RC4_KEY_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_gtk_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #if !defined(_EAPOL_RSNA_KEY_DATA_GTK_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5 % +* %version: % */ #if !defined(_EAPOL_RSNA_KEY_DATA_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_data_payloads.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ #if !defined(_EAPOL_RSNA_KEY_DATA_PAYLOADS_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eapol_rsna_key_header.h --- a/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_header.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_rsna_key_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #if !defined(_EAPOL_RSNA_KEY_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eapol_session_key.h --- a/eapol/eapol_framework/eapol_common/include/eapol_session_key.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_session_key.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5 % +* %version: % */ #if !defined(_EAPOL_SESSION_KEY_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eapol_test_stack_if.h --- a/eapol/eapol_framework/eapol_common/include/eapol_test_stack_if.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_test_stack_if.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5 % +* %version: % */ #if !defined(_EAPOL_TEST_STACK_IF_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eapol_wlan_authentication.h --- a/eapol/eapol_framework/eapol_common/include/eapol_wlan_authentication.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_wlan_authentication.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6.1.2 % +* %version: 18 % */ #if !defined(_EAPOL_WLAN_AUTHENTICATION_H_) @@ -32,6 +32,8 @@ #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" @@ -51,6 +53,7 @@ #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) @@ -60,8 +63,7 @@ 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 abs_eapol_wlan_database_reference_if_c * const wlan_database_reference); + const bool is_client_when_true); EAP_FUNC_IMPORT eapol_wlan_authentication_c( abs_eap_am_tools_c * const tools, @@ -97,11 +99,8 @@ 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 -#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) - , + const bool WPA_override_enabled, 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( @@ -163,6 +162,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 set_eap_database_reference_values( + const eap_variable_data_c * const reference); + ///////////////////////////////////////// /* These are called from ethernet_core */ @@ -291,22 +293,37 @@ 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_FUNC_IMPORT eap_status_e eapol_indication( + 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_FUNC_IMPORT eap_status_e create_upper_stack(); + 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(); -private: - + eap_status_e complete_check_pmksa_cache( + EAP_TEMPLATE_CONST eap_array_c * const bssid_sta_receive_network_ids); eap_status_e cancel_timer_this_ap_failed(); @@ -316,7 +333,7 @@ eap_status_e cancel_timer_authentication_cancelled(); - +private: /// Pointer to the lower layer in the stack abs_eapol_wlan_authentication_c * m_partner; @@ -332,7 +349,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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eapol_wlan_database_reference.h --- a/eapol/eapol_framework/eapol_common/include/eapol_wlan_database_reference.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_wlan_database_reference.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5 % +* %version: % */ #if !defined(_EAPOL_WLAN_DATABASE_REFERENCE_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/eapol_wlan_state.h --- a/eapol/eapol_framework/eapol_common/include/eapol_wlan_state.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/eapol_wlan_state.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_EAPOL_WLAN_STATE_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/ethernet_core.h --- a/eapol/eapol_framework/eapol_common/include/ethernet_core.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/ethernet_core.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 19.1.2 % +* %version: 33 % */ #if !defined(_ETHERNET_CORE_H_) @@ -32,12 +32,14 @@ #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: //-------------------------------------------------- @@ -247,7 +249,6 @@ 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. @@ -259,10 +260,8 @@ 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. @@ -280,18 +279,16 @@ 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); @@ -301,6 +298,38 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/isakmp_header.h --- a/eapol/eapol_framework/eapol_common/include/isakmp_header.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/isakmp_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ #if !defined(_ISAKMP_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/isakmp_payloads.h --- a/eapol/eapol_framework/eapol_common/include/isakmp_payloads.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/isakmp_payloads.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_ISAKMP_RESULT_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/include/sae_cookie.h --- a/eapol/eapol_framework/eapol_common/include/sae_cookie.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/sae_cookie.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_SAE_COOKIE_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/include/wlan_eap_if_send_status.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_WLAN_EAP_IF_SEND_STATUS_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 31.1.4 % +* %version: 41 % */ // This is enumeration of EAPOL source code. @@ -383,7 +383,7 @@ //----------------------------------------------- // -void eap_type_aka_c::initialize_state( +EAP_FUNC_EXPORT 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 = 4u - (data_length % 4u); + padding_zero_count = static_cast(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(data_length+padding_zero_count); + gp_data.reset_header(static_cast(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(data_length+padding_zero_count); + gp_data.set_data_length(static_cast(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,8 +2901,6 @@ //-------------------------------------------------- -#if defined(USE_EAP_TRACE) - // EAP_FUNC_EXPORT void eap_type_aka_c::packet_trace( eap_const_string prefix, @@ -3010,7 +3008,7 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } -#endif //#if defined(USE_EAP_TRACE) + //-------------------------------------------------- @@ -5648,7 +5646,6 @@ //---------------------------------------------------------- -#if defined(USE_EAP_EXPANDED_TYPES) { eap_variable_data_c use_eap_expanded_type(m_am_tools); @@ -5682,7 +5679,6 @@ } } } -#endif //#if defined(USE_EAP_EXPANDED_TYPES) //---------------------------------------------------------- @@ -5958,22 +5954,6 @@ //-------------------------------------------------- -// -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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_authentication_vector.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_client.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 32 % +* %version: 29.1.3 % */ // This is enumeration of EAPOL source code. @@ -5325,7 +5325,7 @@ //-------------------------------------------------- // -eap_status_e eap_type_aka_c::handle_eap_identity_query( +EAP_FUNC_EXPORT 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_status_e eap_type_aka_c::query_eap_identity( +EAP_FUNC_EXPORT 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_payloads.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: 9.1.3 % */ // 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_server.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 23 % +* %version: 20.1.4 % */ // 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_state.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_state_notification.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -65,8 +65,6 @@ } -#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, @@ -92,8 +90,6 @@ { } -#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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/abs_eap_type_aka_state.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #error Do not use anymore. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 20.1.2 % +* %version: 23 % */ #if !defined(_AKA_CORE_H_) @@ -1294,9 +1294,6 @@ const u32_t identity_length, const u8_t * const at_character); - -#if defined(USE_EAP_TRACE) - /** * This function traces the EAP packet. */ @@ -1306,6 +1303,8 @@ 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)) @@ -1938,9 +1937,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_authentication_vector.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_EAP_TYPE_AKA_AUTHENTICATION_VECTOR_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13 % +* %version: % */ #if !defined(_AKA_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_initialized.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_AKA_INITIALIZED_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_payloads.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: 10.1.2 % */ #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(); - bool get_is_valid() const; + EAP_FUNC_IMPORT bool get_is_valid() const; //-------------------------------------------------- }; // class aka_payloads_c diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_state.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_AKA_STATE_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_state_notification.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ #if !defined(_EAP_AKA_STATE_NOTIFICATION_H_) @@ -64,8 +64,6 @@ 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, @@ -78,9 +76,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/aka/include/eap_type_aka_types.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 24 % +* %version: % */ #if !defined(_AKA_TYPES_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_avp_code.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_EAP_DIAMETER_AVP_CODE_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_avp_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_EAP_DIAMETER_AVP_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/diameter/include/eap_diameter_payloads.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13 % +* %version: % */ #if !defined(_EAP_DIAMETER_RESULT_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_avp_code.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_avp_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/diameter/src/eap_diameter_payloads.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 18 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/type/eap_type_all.cpp --- a/eapol/eapol_framework/eapol_common/type/eap_type_all.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/eap_type_all.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 18 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -88,8 +88,11 @@ 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, - abs_eap_configuration_if_c * const configuration_if) + 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) + ) { EAP_TRACE_BEGIN(tools, TRACE_FLAGS_DEFAULT); eap_base_type_c *type = 0; @@ -531,7 +534,6 @@ } else #endif -#if defined(USE_EAP_EXPANDED_TYPES) #if defined(USE_EAP_SIMPLE_CONFIG) if (eap_type == eap_expanded_type_simple_config.get_type()) { @@ -585,7 +587,6 @@ } 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) { @@ -683,8 +684,10 @@ EAP_TRACE_ERROR( tools, TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: new_eap_type(): EAP-type=0x%08x not supported in this module.\n"), - convert_eap_type_to_u32_t(eap_type))); + (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))); } EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT); return type; diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 27.1.4 % +* %version: 37 % */ // This is enumeration of EAPOL source code. @@ -344,7 +344,7 @@ #if !defined(NO_EAP_TYPE_GSMSIM_MESSAGE_STATE_CHECK) // -void eap_type_gsmsim_c::initialize_state( +EAP_FUNC_EXPORT 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. */ -void eap_type_gsmsim_c::save_current_state() +EAP_FUNC_EXPORT void eap_type_gsmsim_c::save_current_state() { m_saved_previous_state = m_state; } @@ -636,7 +636,7 @@ /** * This function restores the saved state. */ -void eap_type_gsmsim_c::restore_saved_previous_state() +EAP_FUNC_EXPORT 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,8 +3665,6 @@ //-------------------------------------------------- -#if defined(USE_EAP_TRACE) - // EAP_FUNC_EXPORT void eap_type_gsmsim_c::packet_trace( eap_const_string prefix, @@ -3777,7 +3775,6 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } -#endif //#if defined(USE_EAP_TRACE) //-------------------------------------------------- @@ -4656,8 +4653,8 @@ TRACE_FLAGS_DEFAULT, (EAPL("received: GSMSIM packet"), received_gsmsim->get_header_buffer( - received_gsmsim->get_header_length()+received_gsmsim->get_data_length()), - received_gsmsim->get_header_length()+received_gsmsim->get_data_length())); + received_gsmsim->get_header_buffer_length()), + received_gsmsim->get_header_buffer_length())); if (received_gsmsim->get_type() == eap_type_identity) { @@ -6479,7 +6476,6 @@ //---------------------------------------------------------- -#if defined(USE_EAP_EXPANDED_TYPES) { eap_variable_data_c use_eap_expanded_type(m_am_tools); @@ -6513,7 +6509,6 @@ } } } -#endif //#if defined(USE_EAP_EXPANDED_TYPES) //---------------------------------------------------------- @@ -6794,21 +6789,6 @@ //-------------------------------------------------- -// -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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_client.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 33 % +* %version: 31.1.2 % */ // This is enumeration of EAPOL source code. @@ -5072,7 +5072,7 @@ //-------------------------------------------------- // -eap_status_e eap_type_gsmsim_c::handle_eap_identity_query( +EAP_FUNC_EXPORT 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_status_e eap_type_gsmsim_c::query_eap_identity( +EAP_FUNC_EXPORT 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: 10.1.2 % */ // This is enumeration of EAPOL source code. @@ -304,7 +304,7 @@ } } -u32_t gsmsim_header_c::get_sub_type_offset() const +EAP_FUNC_EXPORT 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_initialized.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_mac_attributes.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_payloads.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: 7.1.3 % */ // 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_server.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 20 % +* %version: 18.1.2 % */ // 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_state.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/core/eap_type_gsmsim_state_notification.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -65,8 +65,6 @@ } -#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, @@ -92,8 +90,6 @@ { } -#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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/abs_eap_type_gsmsim_state.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 2.1.2 % +* %version: % */ #if !defined(_ABS_GSMSIM_STATE_H_) @@ -122,17 +122,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_gsmsim_state_notification.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_EAP_GSMSIM_STATE_NOTIFICATION_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5.1.2 % +* %version: 8 % */ #if !defined(_GSMSIM_CORE_H_) @@ -1516,8 +1516,6 @@ #endif //#if defined(USE_EAP_TYPE_SERVER_GSMSIM) -#if defined(USE_EAP_TRACE) - /** * This function traces the EAP packet. */ @@ -1527,6 +1525,8 @@ 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,9 +1859,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5 % +* %version: % */ #if !defined(_GSMSIM_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_initialized.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5 % +* %version: % */ #if !defined(_GSMSIM_INITIALIZED_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_mac_attributes.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_EAP_TYPE_GSMSIM_MAC_ATTRIBUTES_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_payloads.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5 % +* %version: 3.1.2 % */ #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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_state.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5 % +* %version: % */ #if !defined(_GSMSIM_STATE_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_state_notification.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined(_EAP_GSMSIM_STATE_NOTIFICATION_H_) @@ -65,8 +65,6 @@ 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, @@ -79,8 +77,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/gsmsim/include/eap_type_gsmsim_types.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5 % +* %version: % */ #if !defined(_GSMSIM_TYPES_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 40.1.2 % +* %version: 46 % */ // This is enumeration of EAPOL source code. @@ -730,7 +730,6 @@ //---------------------------------------------------------- -#if defined(USE_EAP_EXPANDED_TYPES) { eap_variable_data_c use_eap_expanded_type(m_am_tools); @@ -764,7 +763,6 @@ } } } -#endif //#if defined(USE_EAP_EXPANDED_TYPES) //---------------------------------------------------------- @@ -1012,7 +1010,7 @@ EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_type_mschapv2_c::reset()"); - m_session.set_state(eap_type_mschapv2_state_none); + m_session.reset(); m_username_utf8.reset(); eap_variable_data_c username_uc(m_am_tools); @@ -1046,6 +1044,9 @@ 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) { @@ -1505,7 +1506,7 @@ if (key[key_byte] & (1 << key_bit_shifting)) // If bit is 1... { - newkey[newkey_byte] |= (1 << newkey_bit_shifting); // ...set bit to 1 + newkey[newkey_byte] = static_cast(newkey[newkey_byte] | (1 << newkey_bit_shifting)); // ...set bit to 1 bit_counter++; } } @@ -1519,7 +1520,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 == k1 == k2 == k3 + // des: Ek == 3des: Ek3(Dk2(Ek1)) when k == key1 == key2 == key3 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); @@ -1726,7 +1727,7 @@ m_am_tools->memmove(authenticator_response, "S=", 2); u32_t length = EAP_MSCHAPV2_SHA1_DIGEST_SIZE * 2; - m_am_tools->convert_bytes_to_hex_ascii( + (void)m_am_tools->convert_bytes_to_hex_ascii( digest, EAP_MSCHAPV2_SHA1_DIGEST_SIZE, authenticator_response + 2, diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_client.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 39.1.3 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_credential_store.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 19 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_payloads.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_server.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 33 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/core/eap_type_mschapv2_state.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10.1.3 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -38,6 +38,20 @@ , 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; @@ -52,15 +66,6 @@ } } -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); @@ -74,11 +79,14 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (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)); + (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))); m_prev_state = m_state; m_state = new_state; @@ -90,12 +98,16 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (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)); + (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))); if (m_is_client) // Client { @@ -162,12 +174,16 @@ 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, state %d, new state %d, new next state %d\n"), - this, - m_prev_state, - m_state, - new_state, - m_next_state)); + (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))); return false; @@ -215,12 +231,16 @@ 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, state %d, new state %d, new next state %d\n"), - this, - m_prev_state, - m_state, - new_state, - m_next_state)); + (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))); return false; @@ -236,11 +256,14 @@ 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, state %d, new next state %d\n"), - this, - m_prev_state, - m_state, - m_next_state)); + (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))); m_failure_message_received = true; } @@ -250,11 +273,14 @@ 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, state %d, new next state %d\n"), - this, - m_prev_state, - m_state, - m_next_state)); + (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))); m_failure_message_received = false; } @@ -262,3 +288,30 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/abs_eap_type_mschapv2_state.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ #ifndef _ABS_MSCHAPV2_STATE_H_ diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 22.1.2 % +* %version: % */ #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_status_e finish_successful_authentication(); + EAP_FUNC_IMPORT eap_status_e finish_successful_authentication(); eap_status_e finish_unsuccessful_authentication( const bool authentication_cancelled); - eap_status_e complete_eap_identity_query(); + EAP_FUNC_IMPORT eap_status_e complete_eap_identity_query(); - eap_status_e complete_failure_retry_response(); + EAP_FUNC_IMPORT eap_status_e complete_failure_retry_response(); - eap_status_e complete_change_password_query(); + EAP_FUNC_IMPORT 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_credential_store.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ #ifndef EAP_TYPE_MSCHAPV2_CREDENTIAL_STORE_H diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 14 % +* %version: % */ #ifndef _MSCHAPV2_HEADER_H_ diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_payloads.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ #ifndef _MSCHAPV2_PAYLOADS_H_ diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_state.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10.1.2 % +* %version: % */ #ifndef _MSCHAPV2_STATE_H_ @@ -71,6 +71,8 @@ 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); @@ -84,6 +86,8 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/mschapv2/include/eap_type_mschapv2_types.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 27 % +* %version: % */ #ifndef _MSCHAPV2_TYPES_H_ diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/type/radius/core/eap_radius.cpp --- a/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 14 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_attribute_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_client.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_header_string.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_initialized.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_mac_attributes.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_payloads.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 17 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_server.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_session.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11.1.2 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -947,7 +947,8 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_radius_session_c::synchronous_remove_eap_session( +EAP_FUNC_EXPORT eap_status_e eap_radius_session_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); @@ -1018,7 +1019,7 @@ (EAPL("eap_radius_session_c::asynchronous_init_remove_eap_session(): %s.\n"), (m_is_client == true) ? "client": "server")); - // NOTE: we cannot call directly synchronous_remove_eap_session(), because we will + // NOTE: we cannot call directly remove_eap_session(), because we will // return from here to removed object. eap_status_e status = eap_status_process_general_error; diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_state.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/core/eap_radius_state_notification.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -66,8 +66,6 @@ } -#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, @@ -94,8 +92,6 @@ { } -#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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_ABS_EAP_RADIUS_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius_session.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_ABS_EAP_RADIUS_SESSION_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/abs_eap_radius_state.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_ABS_RADIUS_STATE_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/type/radius/include/eap_radius.h --- a/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ #if !defined(_RADIUS_CORE_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_attribute_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_EAP_RADIUS_PAYLOAD_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_EAP_RADIUS_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_header_string.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined( _EAP_RADIUS_HEADER_STRING_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_initialized.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_RADIUS_INITIALIZED_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_mac_attributes.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_EAP_TYPE_RADIUS_MAC_ATTRIBUTES_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_payloads.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ #if !defined(_EAP_RADIUS_RESULT_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_session.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11.1.2 % +* %version: % */ #if !defined(_EAP_RADIUS_SESSION_H_) @@ -342,7 +342,8 @@ * This function removes EAP session object synchronously. * @param receive_network_id identifies the removed EAP session. */ - EAP_FUNC_IMPORT eap_status_e synchronous_remove_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); /** diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_state.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_RADIUS_STATE_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_state_notification.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_EAP_RADIUS_STATE_NOTIFICATION_H_) @@ -91,8 +91,6 @@ 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, @@ -105,8 +103,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/radius/include/eap_radius_types.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_RADIUS_TYPES_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 25 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -636,7 +636,6 @@ //---------------------------------------------------------- -#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); @@ -680,7 +679,6 @@ } } } -#endif //#if defined(USE_EAP_EXPANDED_TYPES) //---------------------------------------------------------- diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_client.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 16 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_server.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 14 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/securid/core/eap_type_securid_state.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/securid/include/abs_eap_type_securid_state.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ #ifndef _ABS_MSCHAPV2_STATE_H_ diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ #ifndef EAP_TYPE_SECURID_H diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid_state.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #ifndef EAP_TYPE_SECURID_STATE_H diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/securid/include/eap_type_securid_types.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13 % +* %version: % */ #ifndef SECURID_TYPES_H @@ -47,7 +47,6 @@ eap_configure_type_hex_data, true); - EAP_CONFIGURATION_FIELD( cf_str_EAP_GTC_identity, "EAP_GTC_identity", @@ -61,6 +60,11 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 21.1.2 % +* %version: % */ #if !defined(_EAP_TYPE_SIMPLE_CONFIG_H_) @@ -614,9 +614,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ #if !defined(_EAP_SIMPLE_CONFIG_HEADER_H_) @@ -32,9 +32,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/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 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #if !defined(_EAP_SIMPLE_CONFIG_STATE_NOTIFICATION_H_) @@ -65,8 +65,6 @@ 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, @@ -79,8 +77,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/include/eap_type_simple_config_types.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 21 % +* %version: % */ #if !defined(_EAP_TYPE_SIMPLE_CONFIG_TYPES_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 26.1.2 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -3627,19 +3627,6 @@ //-------------------------------------------------- -// -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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/eap/src/eap_type_simple_config_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 20 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/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 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -64,8 +64,6 @@ } -#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, @@ -91,8 +89,6 @@ { } -#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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/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 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #if !defined(_ABS_SIMPLE_CONFIG_MESSAGE_RECORD_PROCESS_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/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 @@ -16,7 +16,7 @@ */ /* -* %version: 8.1.2 % +* %version: % */ #if !defined(_ABS_SIMPLE_CONFIG_BASE_RECORD_H_) @@ -202,17 +202,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/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 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_ABS_SIMPLE_CONFIG_MESSAGE_HASH_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_attribute_type.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #if !defined(_SIMPLE_CONFIG_ATTRIBUTE_TYPE_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_base_record.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_SIMPLE_CONFIG_BASE_RECORD_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_completion.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ #if !defined(_SIMPLE_CONFIG_COMPLETION_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_credential.h Tue Aug 31 15:16:37 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2006 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -11,12 +11,12 @@ * * Contributors: * -* Description: EAP and WLAN authentication protocols. +* Description: This class defines Credential attributes for protected setup (previously known as simple config). * */ /* -* %version: 4.1.2 % +* %version: 9 % */ #if !defined(_SIMPLE_CONFIG_CREDENTIAL_H_) @@ -33,7 +33,7 @@ //---------------------------------------------------------------------------- -/// This class defines Credential attributes. +/// This class defines Credential attributes for protected setup (previously known as simple config). class EAP_EXPORT simple_config_credential_c { private: @@ -73,10 +73,12 @@ EAP_FUNC_IMPORT void set_network_index(const u8_t index); - EAP_FUNC_IMPORT u8_t get_network_index(); + EAP_FUNC_IMPORT u8_t get_network_index() const; 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); @@ -87,8 +89,12 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_message.h Tue Aug 31 15:16:37 2010 +0300 @@ -11,12 +11,12 @@ * * Contributors: * -* Description: EAP and WLAN authentication protocols. +* Description: This class defines one SIMPLE_CONFIG-message. * */ /* -* %version: 14 % +* %version: 12.1.2 % */ #if !defined(_SIMPLE_CONFIG_MESSAGE_H_) @@ -32,16 +32,10 @@ //---------------------------------------------------------------------------- -/// This class defines one SIMPLE_CONFIG-message. One SIMPLE_CONFIG message could include many SIMPLE_CONFIG-records. +/// This class defines one SIMPLE_CONFIG-message. /** * 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 { @@ -54,10 +48,9 @@ /// 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 needed in XP-PEAP. + /// This is EAP-identifier of the EAP-packet that includes SIMPLE_CONFIG-message. 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; @@ -88,7 +81,7 @@ /** * This function copies the received SIMPLE_CONFIG-message data and EAP-identifier. - * EAP-identifier is needed in XP PEAPv0. That stupid version uses + * EAP-identifier is needed in PEAPv0. That PEAP 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_payloads.h Tue Aug 31 15:16:37 2010 +0300 @@ -11,12 +11,12 @@ * * Contributors: * -* Description: EAP and WLAN authentication protocols. +* Description: Defines payloads of protected setup message. * */ /* -* %version: 26 % +* %version: 24.1.3 % */ #if !defined(_SIMPLE_CONFIG_PAYLOADS_H_) @@ -79,7 +79,7 @@ EAP_FUNC_IMPORT u8_t * get_data(const u32_t data_length) const; - simple_config_tlv_header_c * get_header(); + EAP_FUNC_IMPORT simple_config_tlv_header_c * get_header(); EAP_FUNC_IMPORT eap_variable_data_c * get_full_attribute_buffer(); diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_record.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 41 % +* %version: % */ #if !defined(_SIMPLE_CONFIG_RECORD_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_tlv_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2006 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -11,12 +11,12 @@ * * Contributors: * -* Description: EAP and WLAN authentication protocols. +* Description: defines header of Attribute-Value Pairs used in protected setup. * */ /* -* %version: 11 % +* %version: 9.1.2 % */ #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 fags and tlv type 16-bit field. + m_tlv_type_offset = 0ul, ///< This is offset to 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. */ - static u32_t get_header_length(); + EAP_FUNC_IMPORT static u32_t get_header_length(); /** * This function returns pointer to the offset of data of TLV. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/include/simple_config_types.h Tue Aug 31 15:16:37 2010 +0300 @@ -11,12 +11,12 @@ * * Contributors: * -* Description: EAP and WLAN authentication protocols. +* Description: This file defines the constants of the protected setup protocol. * */ /* -* %version: 32.1.2 % +* %version: 35 % */ #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 SIMPLE_CONFIG. + * @brief This file defines the constants of the protected setup protocol. */ //-------------------------------------------------- @@ -325,12 +325,14 @@ 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(); + EAP_FUNC_IMPORT u8_t get_network_key_index() const; 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(); @@ -434,7 +436,4 @@ #endif //#if !defined(_SIMPLE_CONFIG_TYPES_H_) //-------------------------------------------------- - - - // End. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_base_record.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_completion.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_credential.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -11,14 +11,22 @@ * * Contributors: * -* Description: EAP and WLAN authentication protocols. +* Description: This class defines Credential attributes for protected setup (previously known as simple config). * */ /* -* %version: 5.1.2 % +* %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 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" @@ -66,7 +74,7 @@ //---------------------------------------------------------------------------- -EAP_FUNC_EXPORT u8_t simple_config_credential_c::get_network_index() +EAP_FUNC_EXPORT u8_t simple_config_credential_c::get_network_index() const { return m_network_index; } @@ -80,6 +88,13 @@ //---------------------------------------------------------------------------- +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; @@ -115,6 +130,13 @@ //---------------------------------------------------------------------------- +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; @@ -122,6 +144,13 @@ //---------------------------------------------------------------------------- +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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_message.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -11,12 +11,12 @@ * * Contributors: * -* Description: EAP and WLAN authentication protocols. +* Description: This class defines one SIMPLE_CONFIG-message. * */ /* -* %version: 20 % +* %version: 18.1.2 % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_payloads.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2007 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -11,12 +11,12 @@ * * Contributors: * -* Description: EAP and WLAN authentication protocols. +* Description: Defines payloads of protected setup message. * */ /* -* %version: 35 % +* %version: 33.1.3 % */ // This is enumeration of EAPOL source code. @@ -474,7 +474,7 @@ used_payloads, &attribute_type, m_am_tools); - if (index < 0ul) + if (index < 0) { // ERROR: not used mandatory TLV. EAP_TRACE_ERROR( @@ -515,11 +515,6 @@ 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); @@ -1299,19 +1294,14 @@ } 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, eap_status_ok); + return EAP_STATUS_RETURN(m_am_tools, status); } //-------------------------------------------------- -simple_config_payloads_c * simple_config_payloads_c::copy() const +EAP_FUNC_EXPORT simple_config_payloads_c * simple_config_payloads_c::copy() const { EAP_TRACE_DEBUG( m_am_tools, diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_record.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 73 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -47,6 +47,9 @@ #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" //-------------------------------------------------- @@ -414,6 +417,7 @@ //---------------------------------------------------------- +#if 0 { status = get_type_partner()->read_configure( cf_str_EAP_SIMPLE_CONFIG_device_password.get_field(), @@ -431,9 +435,26 @@ 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); @@ -4461,6 +4482,18 @@ // 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); } @@ -6486,6 +6519,12 @@ 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); @@ -8160,6 +8199,118 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_tlv_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2006 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -11,12 +11,12 @@ * * Contributors: * -* Description: EAP and WLAN authentication protocols. +* Description: defines header of Attribute-Value Pairs used in protected setup. * */ /* -* %version: 13 % +* %version: 11.1.2 % */ // This is enumeration of EAPOL source code. @@ -125,7 +125,7 @@ { EAP_UNREFERENCED_PARAMETER(m_am_tools); - u32_t data_length = get_data_length(); // Here is removed optional SIMPLE_CONFIG message length. + u32_t data_length = get_data_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(0u, contignuous_bytes); + return get_data_offset(0ul, contignuous_bytes); } diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/simple_config/simple_config/src/simple_config_types.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -11,12 +11,12 @@ * * Contributors: * -* Description: EAP and WLAN authentication protocols. +* Description: This file defines the constants and types of the protected setup protocol. * */ /* -* %version: 22.1.3 % +* %version: 26 % */ // 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() +EAP_FUNC_EXPORT u8_t network_key_and_index_c::get_network_key_index() const { return m_network_key_index; } @@ -82,6 +82,13 @@ //-------------------------------------------------- +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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_tls_peap_state_notification.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_EAP_TLS_PEAP_STATE_NOTIFICATION_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 23.1.2 % +* %version: % */ #if !defined(_EAP_TYPE_TLS_PEAP_H_) @@ -773,9 +773,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_EAP_TLS_PEAP_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/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 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ #if !defined(_EAP_TLS_PEAP_STATE_NOTIFICATION_H_) @@ -65,8 +65,6 @@ 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, @@ -79,8 +77,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_types.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 62 % +* %version: % */ #if !defined(_EAP_TYPE_TLS_PEAP_TYPES_H_) @@ -132,6 +132,12 @@ */ 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, @@ -806,26 +812,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_tls_peap_state_notification.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 82.1.3 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -1629,7 +1629,7 @@ } if (user_certificate_identity != 0 - && user_certificate_identity->get_is_valid() == true) + && user_certificate_identity->get_is_valid_data() == 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() == true) + && user_certificate_identity->get_is_valid_data() == true) { EAP_TRACE_DEBUG( m_am_tools, @@ -1795,7 +1795,7 @@ } } else if (user_certificate_identity != 0 - && user_certificate_identity->get_is_valid() == true) + && user_certificate_identity->get_is_valid_data() == true) { EAP_TRACE_DEBUG( m_am_tools, @@ -1813,14 +1813,19 @@ } else { - EAP_TRACE_ERROR( + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("EAP_type_TLS_PEAP: %s: eap_type_tls_peap_c::handle_eap_identity_query(): no identity.\n"), + (EAPL("WARNING: EAP_type_TLS_PEAP: %s: eap_type_tls_peap_c::handle_eap_identity_query(): no identity configured, creates random identity.\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_illegal_eap_identity); + // 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); + } } status = m_current_identity.set_copy_of_buffer(&local_identity); @@ -1942,11 +1947,13 @@ 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 0x%08x, received EAP-code %d, ") + EAPL("status %d=%s, received EAP-type 0xfe%06x%08x=%s, received EAP-code %d, ") EAPL("received EAP-identifier %d, current EAP-identifier %d, state %s\n"), status, status_string.get_status_string(status), - convert_eap_type_to_u32_t(eap_header->get_type()), + 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()), eap_header->get_code(), eap_header->get_identifier(), get_last_eap_identifier(), @@ -1970,11 +1977,13 @@ 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 0x%08x, received EAP-code %d, ") + EAPL("status %d=%s, received EAP-type 0xfe%06x%08x=%s, received EAP-code %d, ") EAPL("received EAP-identifier %d, current EAP-identifier %d, state %s\n"), status, status_string.get_status_string(status), - convert_eap_type_to_u32_t(eap_header->get_type()), + 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()), eap_header->get_code(), eap_header->get_identifier(), get_last_eap_identifier(), @@ -2133,11 +2142,13 @@ 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 0x%08x, received EAP-code %d, ") + EAPL("status %d=%s, received EAP-type 0xfe%06x%08x=%s, received EAP-code %d, ") EAPL("received EAP-identifier %d, current EAP-identifier %d, state %s\n"), status, status_string.get_status_string(status), - convert_eap_type_to_u32_t(eap_header->get_type()), + 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()), eap_header->get_code(), eap_header->get_identifier(), get_last_eap_identifier(), @@ -3992,9 +4003,11 @@ EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT|TRACE_TEST_VECTORS, - (EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0x%08x\n"), + (EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0xfe%06x%08x=%s\n"), (m_is_client == true) ? "client": "server", - convert_eap_type_to_u32_t(m_current_eap_type))); + 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))); restore_saved_reassembly_state(); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -4832,7 +4845,6 @@ //---------------------------------------------------------- -#if defined(USE_EAP_EXPANDED_TYPES) { eap_variable_data_c use_eap_expanded_type(m_am_tools); @@ -4866,7 +4878,6 @@ } } } -#endif //#if defined(USE_EAP_EXPANDED_TYPES) //---------------------------------------------------------- @@ -5142,9 +5153,11 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: %s: eap_type_tls_peap_c::state_notification(): ") - EAPL("authentication failed: EAP-type 0x%08x\n"), + EAPL("authentication failed: EAP-type 0xfe%06x%08x=%s\n"), (m_is_client == true ? "client": "server"), - convert_eap_type_to_u32_t(m_current_eap_type))); + 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))); m_tunneled_eap_type_authentication_state = eap_state_authentication_terminated_unsuccessfully; @@ -5185,9 +5198,11 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("PEAPv1 authentication tunneled EAP-SUCCESS: EAP-type 0x%08x\n"), + EAPL("PEAPv1 authentication tunneled EAP-SUCCESS: EAP-type 0xfe%06x%08x=%s\n"), (m_is_client == true ? "client": "server"), - convert_eap_type_to_u32_t(m_current_eap_type))); + 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))); m_tunneled_eap_type_authentication_state = static_cast(state->get_current_state()); @@ -5205,9 +5220,11 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("authentication EAP-SUCCESS: EAP-type 0x%08x\n"), + EAPL("authentication EAP-SUCCESS: EAP-type 0xfe%06x%08x=%s\n"), (m_is_client == true ? "client": "server"), - convert_eap_type_to_u32_t(m_current_eap_type))); + 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))); m_tunneled_eap_type_authentication_state = eap_state_authentication_finished_successfully; @@ -5389,9 +5406,11 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): TLS tunneled ") - EAPL("authentication failed: EAP-type 0x%08x, tunnel type %s\n"), + EAPL("authentication failed: EAP-type 0xfe%06x%08x=%s, tunnel type %s\n"), (m_is_client == true ? "client": "server"), - convert_eap_type_to_u32_t(m_current_eap_type), + 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), tls_trace.get_peap_version_string(m_current_peap_version))); set_state(eap_type_tls_peap_state_failure); @@ -5411,9 +5430,11 @@ TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") EAPL("TLS tunneled authentication ") - EAPL("EAP-SUCCESS: EAP-type 0x%08x, tunnel type %s, style %d\n"), + EAPL("EAP-SUCCESS: EAP-type 0xfe%06x%08x=%s, tunnel type %s, style %d\n"), (m_is_client == true ? "client": "server"), - convert_eap_type_to_u32_t(m_current_eap_type), + 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), tls_trace.get_peap_version_string(m_current_peap_version), m_use_tppd_tls_peap)); @@ -5456,9 +5477,11 @@ TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") EAPL("TLS resumed session authentication ") - EAPL("EAP-SUCCESS: EAP-type 0x%08x, m_tls_session_type=%d=%s, tunnel type %s\n"), + EAPL("EAP-SUCCESS: EAP-type 0xfe%06x%08x=%s, m_tls_session_type=%d=%s, tunnel type %s\n"), (m_is_client == true ? "client": "server"), - convert_eap_type_to_u32_t(m_current_eap_type), + 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), 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))); @@ -5490,9 +5513,11 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("plain TLS authentication EAP-SUCCESS: EAP-type 0x%08x, tunnel type %s\n"), + EAPL("plain TLS authentication EAP-SUCCESS: EAP-type 0xfe%06x%08x=%s, tunnel type %s\n"), (m_is_client == true ? "client": "server"), - convert_eap_type_to_u32_t(m_current_eap_type), + 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), tls_trace.get_peap_version_string(m_current_peap_version))); // Plain TLS. @@ -5535,9 +5560,11 @@ EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT|TRACE_TEST_VECTORS, - (EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0x%08x\n"), + (EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0xfe%06x%08x=%s\n"), (m_is_client == true) ? "client": "server", - convert_eap_type_to_u32_t(m_current_eap_type))); + 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))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); set_state(eap_type_tls_peap_state_failure); @@ -5572,9 +5599,11 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("full TLS authentication: EAP-type 0x%08x\n"), + EAPL("full TLS authentication: EAP-type 0xfe%06x%08x=%s\n"), (m_is_client == true ? "client": "server"), - convert_eap_type_to_u32_t(m_current_eap_type))); + 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))); } else if (state->get_current_state() == tls_peap_state_original_session_resumption) { @@ -5582,9 +5611,11 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("TLS session resumption: EAP-type 0x%08x\n"), + EAPL("TLS session resumption: EAP-type 0xfe%06x%08x=%s\n"), (m_is_client == true ? "client": "server"), - convert_eap_type_to_u32_t(m_current_eap_type))); + 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))); } #if defined(USE_EAP_TLS_SESSION_TICKET) else if (state->get_current_state() == tls_peap_state_stateless_session_resumption) @@ -5593,9 +5624,11 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("TLS stateless session resumption: EAP-type 0x%08x\n"), + EAPL("TLS stateless session resumption: EAP-type 0xfe%06x%08x=%s\n"), (m_is_client == true ? "client": "server"), - convert_eap_type_to_u32_t(m_current_eap_type))); + 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))); } #endif // #if defined(USE_EAP_TLS_SESSION_TICKET) #if defined(USE_EAP_TLS_PEAP_TPPD_PEAP_V1_NEW_FIXES) @@ -5606,9 +5639,11 @@ 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 0x%08x\n"), + EAPL("PEAPv1 waits EAP-Success or tunneled packet: EAP-type 0xfe%06x%08x=%s\n"), (m_is_client == true ? "client": "server"), - convert_eap_type_to_u32_t(m_current_eap_type))); + 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))); set_state(eap_type_tls_peap_state_tppd_peapv1_waits_eap_success_or_tunneled_packet); } @@ -5620,9 +5655,11 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("sends TTLS/plain MsChapv2 empty Ack: EAP-type 0x%08x\n"), + EAPL("sends TTLS/plain MsChapv2 empty Ack: EAP-type 0xfe%06x%08x=%s\n"), (m_is_client == true ? "client": "server"), - convert_eap_type_to_u32_t(m_current_eap_type))); + 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))); // Send empty acknowledge message. eap_status_e status = send_empty_eap_ack(); @@ -5642,9 +5679,11 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("waits TTLS/plain MsChapv2 empty Ack: EAP-type 0x%08x\n"), + EAPL("waits TTLS/plain MsChapv2 empty Ack: EAP-type 0xfe%06x%08x=%s\n"), (m_is_client == true ? "client": "server"), - convert_eap_type_to_u32_t(m_current_eap_type))); + 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))); set_state(eap_type_tls_peap_state_server_waits_ttls_plain_ms_chap_v2_empty_ack); } @@ -5655,9 +5694,11 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("TLS tunnel ready: EAP-type 0x%08x\n"), + EAPL("TLS tunnel ready: EAP-type 0xfe%06x%08x=%s\n"), (m_is_client == true ? "client": "server"), - convert_eap_type_to_u32_t(m_current_eap_type))); + 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))); if (m_is_client == true) { @@ -5769,9 +5810,11 @@ EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT|TRACE_TEST_VECTORS, - (EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0x%08x\n"), + (EAPL("ERROR: EAP_type_TLS_PEAP: %s, unknown EAP-type 0xfe%06x%08x=%s\n"), (m_is_client == true) ? "client": "server", - convert_eap_type_to_u32_t(m_current_eap_type))); + 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))); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); set_state(eap_type_tls_peap_state_failure); @@ -5808,9 +5851,11 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: eap_type_tls_peap_c::state_notification(): ") - EAPL("TLS tunnel ready: EAP-type 0x%08x\n"), + EAPL("TLS tunnel ready: EAP-type 0xfe%06x%08x=%s\n"), (m_is_client == true ? "client": "server"), - convert_eap_type_to_u32_t(m_current_eap_type))); + 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))); if (m_is_client == true) { @@ -6201,19 +6246,6 @@ //-------------------------------------------------- -// -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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/eap/src/eap_type_tls_peap_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 14 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/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 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -64,8 +64,6 @@ } -#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, @@ -91,8 +89,6 @@ { } -#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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_apply_cipher_spec.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #if !defined(_ABS_TLS_MESSAGE_RECORD_PROCESS_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_base_application.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 19.1.2 % +* %version: % */ #if !defined(_ABS_TLS_BASE_APPLICATION_H_) @@ -210,17 +210,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_base_record.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8.1.2 % +* %version: % */ #if !defined(_ABS_TLS_BASE_RECORD_H_) @@ -215,17 +215,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_change_cipher_spec.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #if !defined(_ABS_TLS_CHANGE_CIPHER_SPEC_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/abs_tls_message_hash.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #if !defined(_ABS_TLS_MESSAGE_HASH_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_alert_message.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #if !defined(_TLS_ALERT_MESSAGE_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_application_data_message.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #if !defined(_TLS_APPLICATION_DATA_MESSAGE_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_application_eap_core.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 36.1.2 % +* %version: % */ #if !defined(_TLS_APPLICATION_EAP_CORE_H_) @@ -599,9 +599,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_base_application.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 25 % +* %version: 23.1.2 % */ #if !defined(_TLS_BASE_APPLICATION_H_) @@ -59,7 +59,7 @@ /** * Destructor does nothing special. */ - virtual ~tls_base_application_c(); + EAP_FUNC_IMPORT virtual ~tls_base_application_c(); /** * Application partner is object below the tls_base_application_c object. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_base_record.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 18 % +* %version: % */ #if !defined(_TLS_BASE_RECORD_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_change_cipher_spec_message.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #if !defined(_TLS_CHANGE_CIPHER_SPEC_MESSAGE_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_completion.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 14 % +* %version: % */ #if !defined(_TLS_COMPLETION_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_extension.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ #if !defined(_TLS_EXTENSION_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_handshake_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_TLS_HANDSHAKE_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_handshake_message.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ #if !defined(_TLS_HANDSHAKE_MESSAGE_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_message.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_TLS_MESSAGE_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_tlv_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ #if !defined(_TLS_PEAP_TLV_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_tlv_payloads.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: 7.1.2 % */ #if !defined(_PEAP_TLV_PAYLOADS_H_) @@ -129,19 +129,19 @@ const peap_tlv_payload_status_e intermediate_result_tlv ); - peap_tlv_variable_data_c * get_result_tlv(); + EAP_FUNC_IMPORT peap_tlv_variable_data_c * get_result_tlv(); - peap_tlv_variable_data_c * get_nak_tlv(); + EAP_FUNC_IMPORT peap_tlv_variable_data_c * get_nak_tlv(); - peap_tlv_variable_data_c * get_crypto_binding_tlv(); + EAP_FUNC_IMPORT peap_tlv_variable_data_c * get_crypto_binding_tlv(); - peap_tlv_variable_data_c * get_eap_payload_tlv(); + EAP_FUNC_IMPORT peap_tlv_variable_data_c * get_eap_payload_tlv(); - peap_tlv_variable_data_c * get_intermediate_result_tlv(); + EAP_FUNC_IMPORT peap_tlv_variable_data_c * get_intermediate_result_tlv(); - void reset(); + EAP_FUNC_IMPORT void reset(); - bool get_is_valid() const; + EAP_FUNC_IMPORT bool get_is_valid() const; //-------------------------------------------------- }; // class peap_tlv_payloads_c diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_peap_types.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 47 % +* %version: 45.1.2 % */ #if !defined(_TLS_PEAP_TYPES_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 66.1.2 % +* %version: % */ #if !defined(_TLS_RECORD_H_) @@ -1431,9 +1431,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record_header.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_TLS_RECORD_HEADER_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record_message.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #if !defined(_TLS_RECORD_MESSAGE_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_alert_message.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_data_message.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_eap_core.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 92.1.4 % +* %version: 99 % */ // This is enumeration of EAPOL source code. @@ -329,7 +329,6 @@ 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) @@ -354,7 +353,6 @@ return EAP_STATUS_RETURN(m_am_tools, status); } } -//#endif //#if defined(USE_EAP_EXPANDED_TYPES) else { EAP_TRACE_DEBUG( @@ -370,13 +368,7 @@ #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) - 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) - ) + if (m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type()) { // This is special case. // We must tell to inner EAP-stack to use EAP-MsChapv2. @@ -683,47 +675,9 @@ //---------------------------------------------------------- -#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_type_ttls_plain_pap) + if (m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_pap.get_type()) { if (m_free_eap_core == true) { @@ -1359,13 +1313,7 @@ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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) - ) + if (m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_pap.get_type()) { // Query PAP username and password. status = m_application_partner->query_ttls_pap_username_and_password(0); @@ -1468,12 +1416,7 @@ #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) if (m_eap_type == eap_type_ttls -#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) - ) + && m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type()) { eap_header_wr_c sent_eap_packet( m_am_tools, @@ -1507,12 +1450,7 @@ #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) if (m_eap_type == eap_type_ttls -#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) - ) + && m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type()) { eap_header_wr_c sent_eap_packet( m_am_tools, @@ -6428,13 +6366,7 @@ #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) if (m_tunneled_eap_in_ttls == false - && ( -#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) - )) + && m_peap_tunneled_eap_type == eap_expanded_type_ttls_plain_mschapv2.get_type()) { tunneled_type = eap_type_mschapv2; } @@ -6940,35 +6872,18 @@ //-------------------------------------------------- -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=0x%08x=%s\n"), - convert_eap_type_to_u32_t(eap_type), - eap_string.get_eap_type_string(eap_type))); + (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))); EAP_TRACE_RETURN_STRING(m_am_tools, "returns: tls_application_eap_core_c::check_is_valid_eap_type()"); @@ -7006,9 +6921,10 @@ 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=0x%08x=%s\n"), - convert_eap_type_to_u32_t(eap_type), - eap_string.get_eap_type_string(eap_type))); + (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))); return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_eap_type); } diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_application_ttls_plain_mschapv2.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,13 +16,13 @@ */ /* -* %version: 8 % +* %version: 5.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 124 + #define EAP_FILE_NUMBER_ENUM 713 #undef EAP_FILE_NUMBER_DATE #define EAP_FILE_NUMBER_DATE 1127594498 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_base_application.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_base_record.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_change_cipher_spec_message.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_completion.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_extension.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,11 +16,19 @@ */ /* -* %version: 13 % +* %version: % */ #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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_handshake_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_handshake_message.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 23 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_message.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_tlv_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -239,8 +239,9 @@ 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); } @@ -254,11 +255,11 @@ if (reserved == true) { - flag_tlv_type_data[0] |= m_flag_mask_reserved; + flag_tlv_type_data[0] = static_cast(flag_tlv_type_data[0] | m_flag_mask_reserved); } else { - flag_tlv_type_data[0] &= ~m_flag_mask_reserved; + flag_tlv_type_data[0] = static_cast(flag_tlv_type_data[0] & ~m_flag_mask_reserved); } } @@ -272,11 +273,11 @@ if (mandatory_when_true == true) { - flag_tlv_type_data[0] |= m_flag_mask_mandatory_tlv; + flag_tlv_type_data[0] = static_cast(flag_tlv_type_data[0] | m_flag_mask_mandatory_tlv); } else { - flag_tlv_type_data[0] &= ~m_flag_mask_mandatory_tlv; + flag_tlv_type_data[0] = static_cast(flag_tlv_type_data[0] & ~m_flag_mask_mandatory_tlv); } } diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_tlv_payloads.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_peap_types.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 24 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 177.1.9 % +* %version: 197 % */ // 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_status_e tls_record_c::eap_status_return_and_create_tls_protocol_alert( +EAP_FUNC_EXPORT 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,6 +273,18 @@ 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) { @@ -1190,7 +1202,7 @@ //-------------------------------------------------- -void tls_record_c::send_error_notification(const eap_status_e error) +EAP_FUNC_EXPORT void tls_record_c::send_error_notification(const eap_status_e error) { // Notifies the lower level of an authentication error. @@ -1932,8 +1944,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) @@ -3418,10 +3430,12 @@ EAP_TRACE_ALWAYS( m_am_tools, TRACE_FLAGS_DEFAULT, - (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"), + (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"), this, (m_is_client == true ? "client": "server"), - convert_eap_type_to_u32_t(m_eap_type), + m_eap_type.get_vendor_id(), + m_eap_type.get_vendor_type(), + eap_header_string_c::get_eap_type_string(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, @@ -3566,9 +3580,11 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("%s: tls_record_c::state_notification(): ") - EAPL("waits TTLS/plain MsChapv2 empty Ack: EAP-type 0x%08x\n"), + EAPL("waits TTLS/plain MsChapv2 empty Ack: EAP-type 0xfe%06x%08x=%s\n"), (m_is_client == true ? "client": "server"), - convert_eap_type_to_u32_t(m_eap_type))); + m_eap_type.get_vendor_id(), + m_eap_type.get_vendor_type(), + eap_header_string_c::get_eap_type_string(m_eap_type))); } #endif //#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK) @@ -3627,23 +3643,6 @@ //-------------------------------------------------- // 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, @@ -8864,6 +8863,22 @@ 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)); + } + } + } } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -8889,6 +8904,22 @@ 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; @@ -12318,6 +12349,9 @@ 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, @@ -12330,15 +12364,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(); - - 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; @@ -16647,6 +16672,12 @@ && 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 @@ -16738,7 +16769,10 @@ } } else if (tmp_identity_privacy_handshake_state == tls_identity_privacy_handshake_state_none - || tmp_identity_privacy_handshake_state == tls_identity_privacy_handshake_state_runs) +#if defined(USE_EAP_TLS_IDENTITY_PRIVACY) + || tmp_identity_privacy_handshake_state == tls_identity_privacy_handshake_state_runs +#endif + ) { if ((m_eap_type == eap_type_peap && m_peap_version >= peap_version_0_xp @@ -19040,7 +19074,12 @@ { if (completion_status != eap_status_ok) { - (void)EAP_STATUS_RETURN(m_am_tools, completion_status); + 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"))); } if (m_is_client == false) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record_header.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -131,6 +131,7 @@ /// 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/src/tls_record_message.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/wpxstub/eapol_core_wpxm_stub.cpp --- a/eapol/eapol_framework/eapol_common/wpxstub/eapol_core_wpxm_stub.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/wpxstub/eapol_core_wpxm_stub.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6.1.4 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/wpxstub/eapol_key_state_common_wpxm_stub.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -86,7 +86,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eapol_key_state_c::derive_WPXM_WPXK1_WPXK2() +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_FUNC_EXPORT eap_status_e eapol_key_state_c::derive_WPXM_PTK(const u32_t /* WPXM_WPXC */) +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_common/wpxstub/ethernet_core_wpxm_stub.cpp --- a/eapol/eapol_framework/eapol_common/wpxstub/ethernet_core_wpxm_stub.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_common/wpxstub/ethernet_core_wpxm_stub.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6.1.3 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -42,15 +42,10 @@ // 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); } @@ -58,17 +53,11 @@ // 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/DSS_random/dss_random_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: 10.1.4 % */ // This is enumeration of EAPOL source code. @@ -77,7 +77,7 @@ * X= 47c27eb6 16dba413 91e5165b e9c5e397 7e39a15d * @endcode */ -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) +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) { u32_t *out_array = reinterpret_cast(out); @@ -92,13 +92,15 @@ ); if (status != eap_status_ok) { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("eap_sha1_dss_G_function(): status = %d"), + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_EAP_AM_CRYPTO, (EAPL("ERROR: 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; } /** @@ -114,7 +116,7 @@ * d. XKEY = (1 + XKEY + xj) mod 2^b. * @endcode */ -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_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_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); eap_status_e status = eap_status_ok; @@ -181,7 +183,13 @@ for (u32_t ind = 0; ind < block_count; ind++) { - dss_random_G(m_am_tools, &(out[ind*BLOCK_SIZE]), BLOCK_SIZE, tmp_xkey.Ptr(), BLOCK_SIZE); + 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); + } EAP_TRACE_DATA_DEBUG( m_am_tools, diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/file_io/symbian/eap_am_file_input_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 14 % +* %version: 11.1.3 % */ // This is enumeration of EAPOL source code. @@ -518,7 +518,7 @@ /** * This function reads word from file. */ -eap_status_e eap_am_file_input_symbian_c::file_read_word(eap_variable_data_c * const word) +EAP_FUNC_EXPORT 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. */ -bool eap_am_file_input_symbian_c::get_is_valid() +EAP_FUNC_EXPORT bool eap_am_file_input_symbian_c::get_is_valid() { return m_is_valid; } //---------------------------------------------------------------------------------------------------- -eap_status_e eap_am_file_input_symbian_c::directory_open( +EAP_FUNC_EXPORT 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_status_e eap_am_file_input_symbian_c::directory_read( +EAP_FUNC_EXPORT 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_status_e eap_am_file_input_symbian_c::directory_close() +EAP_FUNC_EXPORT eap_status_e eap_am_file_input_symbian_c::directory_close() { return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported); } diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/common/symbian/EapConfigToolsSymbian.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapConfigToolsSymbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,281 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/common/symbian/EapConversion.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapConversion.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,1860 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/common/symbian/EapExpandedType.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapExpandedType.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,306 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/common/symbian/EapMessageQueue.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapMessageQueue.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,335 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/common/symbian/EapPluginTools.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapPluginTools.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,264 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/common/symbian/EapSettings.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/EapSettings.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,1005 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/common/symbian/dll_entry.cpp --- a/eapol/eapol_framework/eapol_symbian/am/common/symbian/dll_entry.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/dll_entry.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_async_wait_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ // INCLUDE FILES diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_crypto_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 20 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_mutex_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_semaphore_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4.1.2 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -31,7 +31,7 @@ // INCLUDES #include "eap_am_memory.h" -#include "eap_am_trace_symbian.h" +#include "EapTraceSymbian.h" #include "eap_am_semaphore_symbian.h" diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_tools_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2006 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -11,12 +11,12 @@ * * Contributors: * -* Description: EAP and WLAN authentication protocols. +* Description: Tools for common code to run on Symbian. * */ /* -* %version: 22.1.3 % +* %version: 36 % */ // This is enumeration of EAPOL source code. @@ -28,11 +28,13 @@ #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) +#include +#include #include "eap_am_tools_symbian.h" #include "eap_am_types.h" -#include -#include +#include "eap_automatic_variable.h" +#include "EapTraceSymbian.h" const TUint MAX_DB_TRANSACTION_RETRY_COUNT = 10; const u32_t EAP_TIMER_MAX_AFTER_TIME_MILLISECONDS_SYMBIAN = 2100000ul; @@ -47,6 +49,11 @@ 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) @@ -63,6 +70,7 @@ 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) @@ -79,16 +87,40 @@ #if defined(USE_EAP_HARDWARE_TRACE) set_trace_mask( - eap_am_tools_c::eap_trace_mask_always - | eap_am_tools_c::eap_trace_mask_error + TRACE_FLAGS_ALWAYS + | TRACE_FLAGS_ERROR | eap_am_tools_c::eap_trace_mask_debug - | eap_am_tools_c::eap_trace_mask_message_data); + | EAP_TRACE_FLAGS_MESSAGE_DATA + | TRACE_FLAGS_TIMER + | TRACE_FLAGS_TIMER_QUEUE); #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()\n"))); + (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()"); if (m_crypto.get_is_valid() == false) { @@ -160,6 +192,8 @@ 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); @@ -167,10 +201,12 @@ #if defined(USE_EAP_HARDWARE_TRACE) set_trace_mask( - eap_am_tools_c::eap_trace_mask_always - | eap_am_tools_c::eap_trace_mask_error + TRACE_FLAGS_ALWAYS + | TRACE_FLAGS_ERROR | eap_am_tools_c::eap_trace_mask_debug - | eap_am_tools_c::eap_trace_mask_message_data); + | EAP_TRACE_FLAGS_MESSAGE_DATA + | TRACE_FLAGS_TIMER + | TRACE_FLAGS_TIMER_QUEUE); #endif //#if defined(USE_EAP_HARDWARE_TRACE) m_start_ticks = get_clock_ticks(); @@ -379,23 +415,28 @@ TInt64 _hours = _minutes / _div_60; _minutes = _minutes - _hours* _div_60; - _LIT8(KFormat1, "%02d:%02d:%02d.%06d:EAPOL:"); + _LIT8(KFormat1, "%02d:%02d:%02d.%06d:%s:"); m_trace_buf.Format( KFormat1, static_cast(_hours), static_cast(_minutes), static_cast(_seconds), - static_cast(_micro_seconds)); + static_cast(_micro_seconds), + m_prefix_string.get_data()); } } else { - _LIT8(KFormat2, "%08x%08x:EAPOL:"); + _LIT8(KFormat2, "%08x%08x:%s:"); 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_trace_buf.Format( + KFormat2, + time_stamp_u32_t[1], + time_stamp_u32_t[0], + m_prefix_string.get_data()); } VA_LIST args = {0,}; @@ -444,10 +485,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) { @@ -517,6 +558,35 @@ 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; +} //-------------------------------------------------- @@ -524,14 +594,23 @@ 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); @@ -764,7 +843,8 @@ // EAP_FUNC_EXPORT u64_t eap_am_tools_symbian_c::get_clock_ticks_of_second() { - return 1000000u; + const u64_t COUNT_OF_CLOCK_TICS_IN_ONE_SECOND = 1000000ul; + return COUNT_OF_CLOCK_TICS_IN_ONE_SECOND; } //-------------------------------------------------- @@ -905,6 +985,8 @@ } +//-------------------------------------------------- + EAP_FUNC_EXPORT void eap_am_tools_symbian_c::leave_crypto_cs() { @@ -921,10 +1003,11 @@ EAP_FUNC_EXPORT void eap_am_tools_symbian_c::sleep(u32_t milli_seconds) { - User::After(limit_microsecond_timeout(milli_seconds)); + 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"); @@ -935,6 +1018,7 @@ now.SecondsFrom(start, interval); return interval.Int(); } + //-------------------------------------------------- EAP_FUNC_EXPORT bool eap_am_tools_symbian_c::get_is_valid() const @@ -949,7 +1033,7 @@ EAP_TRACE_DEBUG( this, TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_tools_symbian_c::convert_am_error_to_eapol_error: error=%d\n"), + (EAPL("eap_status_e eap_am_tools_symbian_c::convert_am_error_to_eapol_error(): error=%d\n"), aErr)); eap_status_e status; @@ -1025,12 +1109,14 @@ 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_am_error_to_eapol_error: error=%d\n"), + (EAPL("eap_am_tools_symbian_c::convert_eapol_error_to_am_error(): error=%d\n"), aErr)); TInt status; @@ -1058,6 +1144,7 @@ status = KErrCompletion; break; + case eap_status_not_found: case eap_status_illegal_configure_field: status = KErrNotFound; break; @@ -1157,7 +1244,7 @@ // Wait 0 - 524287 microseconds randomWait = randomWait & 0x7ffff; - User::After(randomWait); + After(randomWait); } return EAP_STATUS_RETURN(this, status); } @@ -1192,7 +1279,7 @@ // Wait 0 - 524287 microseconds randomWait = randomWait & 0x7ffff; - User::After(randomWait); + After(randomWait); } return EAP_STATUS_RETURN(this, status); } @@ -1227,7 +1314,7 @@ // Wait 0 - 524287 microseconds randomWait = randomWait & 0x7ffff; - User::After(randomWait); + After(randomWait); } return EAP_STATUS_RETURN(this, status); } @@ -1244,6 +1331,9 @@ 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(); @@ -1493,6 +1583,10 @@ 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) @@ -1509,7 +1603,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)); } } @@ -1521,15 +1615,22 @@ 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( - am_tools, - TRACE_FLAGS_TIMER, - (EAPL("abs_eap_am_tools_c::delete_abs_eap_am_tools_c(0x%08x)\n"), - 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()")); - (void)am_tools->shutdown(); - - delete 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; + } } //-------------------------------------------------- diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/common/symbian/eap_am_trace_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2005 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -11,29 +11,30 @@ * * Contributors: * -* Description: EAP and WLAN authentication protocols. +* Description: Trace functions on Symbian. * */ /* -* %version: 7.1.3 % +* %version: 16 % */ -#if defined(_DEBUG) || defined(DEBUG) - -#include "eap_am_trace_symbian.h" +#include "EapTraceSymbian.h" +#include "eap_tools.h" -const TInt KMaxBufferSize = 256; +const TInt KMaxBufferSize = 512; -u8_t octet_to_ascii(i32_t octet) +//------------------------------------------------------------------------- + +TUint8 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 { @@ -41,7 +42,9 @@ } } -void formatted_print(eap_format_string format, ...) +//------------------------------------------------------------------------- + +void formatted_print(const char * const format, ...) { EAP_UNREFERENCED_PARAMETER(format); @@ -76,7 +79,7 @@ TPtr8 m_trace_buf = trace_buf->Des(); TPtr16 m_trace_buf_16 = trace_buf_16->Des(); - VA_LIST args; + VA_LIST args = {0, }; VA_START(args, format); m_format_buf.Copy((const TUint8 *)format); @@ -111,7 +114,7 @@ #if defined(USE_EAP_HARDWARE_TRACE_RAW_PRINT) RDebug::RawPrint(m_trace_buf_16); #else - formatted_print(_L("%S"), &m_trace_buf_16); + RDebug::Print(_L("%S"), &m_trace_buf_16); #endif //#if defined(USE_EAP_HARDWARE_TRACE_RAW_PRINT) } @@ -126,18 +129,19 @@ } +//------------------------------------------------------------------------- -void trace_data( - eap_const_string prefix, +EXPORT_C void eap_trace_data_symbian( + const char * const prefix, const void * const p_data, - const u32_t data_length) + const TUint data_length) { - u8_t* m_tmp_buffer = NULL; - u8_t* m_tmp_ascii_buffer = NULL; + TUint8* m_tmp_buffer = NULL; + TUint8* m_tmp_ascii_buffer = NULL; - m_tmp_buffer = new u8_t[KMaxBufferSize]; - m_tmp_ascii_buffer = new u8_t[KMaxBufferSize]; + m_tmp_buffer = new TUint8[KMaxBufferSize]; + m_tmp_ascii_buffer = new TUint8[KMaxBufferSize]; if( m_tmp_buffer == NULL || m_tmp_ascii_buffer == NULL) { @@ -150,16 +154,16 @@ return; } - u8_t *cursor = m_tmp_buffer; - u8_t *cursor_ascii = m_tmp_ascii_buffer; + TUint8 *cursor = m_tmp_buffer; + TUint8 *cursor_ascii = m_tmp_ascii_buffer; - const u8_t *data = reinterpret_cast(p_data); - u32_t ind; + const TUint8 *data = reinterpret_cast(p_data); + TUint ind; bool must_print = false; - u32_t data_start = 0u; + TUint data_start = 0u; - const u32_t EAP_DATA_TRACE_BYTE_GROUP_SIZE = 1; - u32_t byte_group_size = EAP_DATA_TRACE_BYTE_GROUP_SIZE; + const TUint EAP_DATA_TRACE_BYTE_GROUP_SIZE = 1; + TUint byte_group_size = EAP_DATA_TRACE_BYTE_GROUP_SIZE; #if !defined(USE_EAP_DEBUG_TRACE) // This does not trace the pointer of the data. @@ -246,8 +250,24 @@ 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 + } -#endif - +//------------------------------------------------------------------------- // End of file diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/core/symbian/Eapol.cpp --- a/eapol/eapol_framework/eapol_symbian/am/core/symbian/Eapol.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/Eapol.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/core/symbian/EapolTimer.cpp --- a/eapol/eapol_framework/eapol_symbian/am/core/symbian/EapolTimer.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/EapolTimer.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian.cpp --- a/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3981 +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.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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian_simulator.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_core_symbian_wlm.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/eapol_am_wlan_authentication_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 59.1.4 % +* %version: 94 % */ // This is enumeration of EAPOL source code. @@ -39,27 +39,25 @@ #include "eapol_key_types.h" #include "eap_timer_queue.h" #include "eap_crypto_api.h" -#include "abs_eapol_wlan_database_reference_if.h" +#include "abs_eap_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 - //-------------------------------------------------- // @@ -70,6 +68,7 @@ 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()"); } //-------------------------------------------------- @@ -77,10 +76,8 @@ // 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, - const abs_eapol_wlan_database_reference_if_c * const wlan_database_reference) -: CActive(CActive::EPriorityStandard) -, m_am_partner(0) + const bool is_client_when_true) +: m_am_partner(0) #if defined(USE_EAP_SIMPLE_CONFIG) , m_configuration_if(0) #endif // #if defined(USE_EAP_SIMPLE_CONFIG) @@ -89,12 +86,8 @@ , m_SSID(tools) , m_wpa_preshared_key(tools) , m_wpa_preshared_key_hash(tools) -, m_wlan_database_reference(wlan_database_reference) -#ifdef USE_EAP_EXPANDED_TYPES -, m_eap_type_array(tools) -#endif +, m_database_reference(tools) , 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) @@ -103,6 +96,13 @@ { 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,6 +114,13 @@ { 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; } @@ -126,57 +133,44 @@ 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). - - TInt err = db.Create(m_session, KDatabaseName, KSecureUIDFormat); + + 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); EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("TryOpenDatabaseL() - Created Secure DB for eapol.dat. err=%d\n"), err )); + (EAPL("TryOpenDatabaseL() - Created Secure DB for eapol.dat. error=%d\n"), error )); - if(err == KErrNone) + if(error == KErrNone) { db.Close(); - } else if (err != KErrAlreadyExists) + } else if (error != KErrAlreadyExists) { - User::LeaveIfError(err); + User::LeaveIfError(error); } - User::LeaveIfError(db.Open(m_session, KDatabaseName, KSecureUIDFormat)); + User::LeaveIfError(db.Open(m_session, aPrivateDatabasePathName)); -#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); @@ -198,18 +192,18 @@ %S VARBINARY(255))"); sqlStatement.Format(KSQLCreateTable2, &KEapolPSKTableName, &KServiceType, &KServiceIndex, &KSSID, &KPassword, &KPSK); - err = db.Execute(sqlStatement); - if (err != KErrNone && err != KErrAlreadyExists) + error = db.Execute(sqlStatement); + if (error != KErrNone && error != KErrAlreadyExists) { - User::Leave(err); + User::Leave(error); } - CleanupStack::PopAndDestroy(); // buf + CleanupStack::PopAndDestroy(buf); // If compacting is not done the database will start growing db.Compact(); - CleanupStack::PopAndDestroy(); // Close database + CleanupStack::PopAndDestroy(&db); } //-------------------------------------------------- @@ -219,15 +213,28 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eapol_am_wlan_authentication_symbian_c::OpenDatabaseL()\n"))); + (EAPL("eapol_am_wlan_authentication_symbian_c::InitDatabaseL()\n"))); + EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::InitDatabaseL()"); // Create the database (if necessary) - TRAPD(err, TryInitDatabaseL()); - if (err != KErrNone) + TRAPD(error, TryInitDatabaseL()); + if (error != KErrNone) { // Because of error remove the database file. - err = m_fs.Delete(KDatabaseName); - if(err != KErrNone) + 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) { User::Leave(KErrCorrupt); } @@ -250,8 +257,10 @@ (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(); @@ -262,8 +271,9 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("RDbs::Connect() failed %d.\n"), - status)); + (EAPL("ERROR: RDbs::Connect() failed %d=%s.\n"), + status, + 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); } @@ -273,8 +283,8 @@ TRACE_FLAGS_DEFAULT, (EAPL("Database session initialized...\n"))); - // Connect to FS - error = m_fs.Connect(); + // Initialize database + TRAP(error, InitDatabaseL()); if (error != KErrNone) { eap_status_e status(m_am_tools->convert_am_error_to_eapol_error(error)); @@ -282,28 +292,9 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (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)); + (EAPL("ERROR: InitDatabaseL failed %d=%s.\n"), + status, + 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); } @@ -315,169 +306,14 @@ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - -#if defined(USE_EAP_FILECONFIG) + status = EapConfigToolsSymbian::EapReadDefaultConfigFileSymbian( + m_am_tools, + &m_fileconfig); + if (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); - - 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"))); - } + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); + return EAP_STATUS_RETURN(m_am_tools, status); } -#endif //#if defined(USE_EAP_FILECONFIG) // - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -485,7 +321,7 @@ { eap_variable_data_c trace_output_file(m_am_tools); - eap_status_e status = read_configure( + status = read_configure( cf_str_EAP_TRACE_output_file_name.get_field(), &trace_output_file); if (status == eap_status_ok @@ -509,9 +345,33 @@ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - { + 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); - eap_status_e status = read_configure( + status = read_configure( cf_str_EAP_TRACE_enable_timer_queue_traces.get_field(), &EAP_TRACE_enable_timer_queue_traces); if (status == eap_status_ok @@ -524,16 +384,18 @@ { m_am_tools->set_trace_mask( m_am_tools->get_trace_mask() - | eap_am_tools_c::eap_trace_mask_timer_queue + | TRACE_FLAGS_TIMER_QUEUE ); } } } + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - + { eap_variable_data_c EAP_TRACE_enable_function_traces(m_am_tools); - eap_status_e status = read_configure( + status = read_configure( cf_str_EAP_TRACE_enable_function_traces.get_field(), &EAP_TRACE_enable_function_traces); if (status == eap_status_ok @@ -565,50 +427,6 @@ //-------------------------------------------------- -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); @@ -620,15 +438,13 @@ (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); } @@ -650,6 +466,7 @@ (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; @@ -663,24 +480,25 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::reset_eap_configuration() +EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::reset_wpa_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_eap_configuration(): %s, this = 0x%08x\n"), + (EAPL("eapol_am_wlan_authentication_symbian_c::reset_wpa_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, ReadEAPSettingsL()); + TRAPD(error, ReadWPASettingsL()); if (error != KErrNone) { EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("EAP settings reading from CommDb failed or cancelled(err %d).\n"), error)); + (EAPL("EAP settings reading from CommDb failed or cancelled(error %d).\n"), error)); eap_status_e status(m_am_tools->convert_am_error_to_eapol_error(error)); @@ -700,6 +518,7 @@ 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); @@ -748,6 +567,7 @@ (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; @@ -775,11 +595,18 @@ //-------------------------------------------------- // -void eapol_am_wlan_authentication_symbian_c::state_notification( +EAP_FUNC_EXPORT 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); @@ -799,6 +626,7 @@ (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); @@ -822,6 +650,7 @@ (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); @@ -829,181 +658,6 @@ //-------------------------------------------------- -#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) { @@ -1016,6 +670,7 @@ (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); @@ -1027,7 +682,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); @@ -1039,46 +694,13 @@ (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); } @@ -1103,19 +725,11 @@ (m_is_client == true) ? "client": "server", this, dynamic_cast(this))); - - 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); - } + EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eapol_am_wlan_authentication_symbian_c::read_database_reference_values()"); const eapol_wlan_database_reference_values_s * const database_reference_values = reinterpret_cast( - database_reference.get_data(sizeof(eapol_wlan_database_reference_values_s))); + m_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); @@ -1138,351 +752,6 @@ //-------------------------------------------------- -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) @@ -1497,7 +766,8 @@ (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); @@ -1515,7 +785,7 @@ if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return status; + return EAP_STATUS_RETURN(m_am_tools, status); } status = type_field.set_buffer( @@ -1526,220 +796,55 @@ if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return status; + return EAP_STATUS_RETURN(m_am_tools, 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" ); - TRAPD( err, read_configureL( - KDatabaseName, + + 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, KEapolTableName, field->get_field(), field->get_field_length(), data) ); + // Try to read it for eap fast DB - HBufC8* fieldBuf = HBufC8::NewLC( field->get_field_length() ); + 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); + } TPtr8 fieldPtr = fieldBuf->Des(); fieldPtr.Copy( reinterpret_cast ( field->get_field() )); - _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) + if (error != KErrNone) { - status = m_am_tools->convert_am_error_to_eapol_error(err); + status = m_am_tools->convert_am_error_to_eapol_error(error); #if defined(USE_EAP_FILECONFIG) if (m_fileconfig != 0 @@ -1752,6 +857,7 @@ } #endif //#if defined(USE_EAP_FILECONFIG) } + m_am_tools->trace_configuration( status, field, @@ -1771,15 +877,27 @@ 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; -#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 + 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); CleanupClosePushL(db); @@ -1822,7 +940,8 @@ status = data->set_copy_of_buffer(asciiString.Ptr(), asciiString.Size()); if (status != eap_status_ok) { - User::Leave(KErrNoMemory); + User::Leave(m_am_tools->convert_eapol_error_to_am_error( + EAP_STATUS_RETURN(m_am_tools, status))); } } else @@ -1839,7 +958,8 @@ status = data->set_copy_of_buffer((const unsigned char *) &value, sizeof(value)); if (status != eap_status_ok) { - User::Leave(KErrNoMemory); + User::Leave(m_am_tools->convert_eapol_error_to_am_error( + EAP_STATUS_RETURN(m_am_tools, status))); } } break; @@ -1847,7 +967,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("read_configureL: Unexpected column type.\n"))); + (EAPL("ERROR: read_configureL: Unexpected column type.\n"))); User::Panic(_L("EAPOL"), 1); } } @@ -1857,12 +977,17 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("read_configureL: Could not find configuration parameter.\n"))); - User::Leave(KErrNotFound); + (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))); } // Close database - CleanupStack::PopAndDestroy(5); // view, 3 buffers and database + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(unicodebuf); + CleanupStack::PopAndDestroy(asciibuf); + CleanupStack::PopAndDestroy(&db); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1892,6 +1017,13 @@ { 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, @@ -1910,6 +1042,13 @@ { 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); @@ -1924,6 +1063,13 @@ { 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); @@ -1932,315 +1078,39 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eapol_am_wlan_authentication_symbian_c::check_is_valid_eap_type(const eap_type_value_e eap_type) +void eapol_am_wlan_authentication_symbian_c::RetrievePSKL(TPSKEntry& entry) { - 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::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); + 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()"); - 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); - } + // Open database + RDbNamedDatabase db; - 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 + TFileName aPrivateDatabasePathName; - 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); + EapPluginTools::GetPrivatePathL( + m_session, + aPrivateDatabasePathName); - 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))); + aPrivateDatabasePathName.Append(KEapolDatabaseName); - - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, eap_status_illegal_eap_type); -} + EAP_TRACE_DATA_DEBUG_SYMBIAN(("aPrivateDatabasePathName", + aPrivateDatabasePathName.Ptr(), + aPrivateDatabasePathName.Size())); -//-------------------------------------------------- - -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); + TInt error = db.Open(m_session, aPrivateDatabasePathName); EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (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))))); + (EAPL("eapol_am_wlan_authentication_symbian_c::RetrievePSKL(): db.Open(), error = %d\n"), + error)); - 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 + User::LeaveIfError(error); CleanupClosePushL(db); @@ -2273,13 +1143,22 @@ entry.password.Copy(view.ColDes8(4)); entry.psk.Copy(view.ColDes8(5)); - CleanupStack::PopAndDestroy(3); // view, buf, database + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(sqlbuf); + CleanupStack::PopAndDestroy(&db); } //-------------------------------------------------- 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); @@ -2295,11 +1174,19 @@ // 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 + 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)); CleanupClosePushL(db); @@ -2323,7 +1210,7 @@ // Delete old row and also rows that have no associated IAP settings. if (view.FirstL()) - { + { do { view.GetL(); @@ -2352,32 +1239,37 @@ CleanupStack::PopAndDestroy( colSet ); // Delete colSet. - CleanupStack::PopAndDestroy(4); // CWLanSettings, database, buffer, view + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(sqlbuf); + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(wlan_settings); } //-------------------------------------------------- // -void eapol_am_wlan_authentication_symbian_c::ReadEAPSettingsL() +void eapol_am_wlan_authentication_symbian_c::ReadWPASettingsL() { 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::ReadEAPSettingsL(): %s, this = 0x%08x => 0x%08x\n"), + (EAPL("eapol_am_wlan_authentication_symbian_c::ReadWPASettingsL(): %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); - status = reset_eap_plugins(); - if (status != eap_status_ok) + if (m_selected_eapol_key_authentication_type == eapol_key_authentication_type_WPS) { - 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_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, (EAPL("WPS does not use CommDbIf anymore.\n"))); + return; } TIndexType index_type(ELan); @@ -2397,253 +1289,28 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (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, + (EAPL("WLAN settings: m_WPA_override_enabled=%d\n"), m_WPA_override_enabled)); EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (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); + (EAPL("m_wpa_preshared_key"), + m_wpa_preshared_key.get_data(), + m_wpa_preshared_key.get_data_length())); - 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( + EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (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; - } + (EAPL("m_SSID"), + m_SSID.get_data(), + m_SSID.get_data_length())); // 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; @@ -2651,12 +1318,12 @@ pskEntry.password.Zero(); pskEntry.psk.Zero(); - TInt err(KErrNone); + TInt error(KErrNone); // Retrieve saved PSK only when override is not in effect - TRAP(err, RetrievePSKL(pskEntry)); + TRAP(error, RetrievePSKL(pskEntry)); - if (err != KErrNone + if (error != KErrNone || m_SSID.compare(pskEntry.ssid.Ptr(), pskEntry.ssid.Size()) != 0 || m_wpa_preshared_key.compare(pskEntry.password.Ptr(), pskEntry.password.Size()) != 0) { @@ -2676,7 +1343,6 @@ 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))); } @@ -2685,7 +1351,6 @@ 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))); } @@ -2699,7 +1364,6 @@ || 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))); } @@ -2716,7 +1380,6 @@ 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))); } @@ -2770,7 +1433,6 @@ 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))); } @@ -2797,17 +1459,6 @@ 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 { @@ -2820,253 +1471,6 @@ //-------------------------------------------------- -#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( @@ -3081,6 +1485,7 @@ 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); @@ -3099,17 +1504,45 @@ //-------------------------------------------------- +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 abs_eapol_wlan_database_reference_if_c * const wlan_database_reference) + const bool is_client_when_true) { 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, - wlan_database_reference); + is_client_when_true); EAP_TRACE_END(tools, TRACE_FLAGS_DEFAULT); return wauth; @@ -3117,6 +1550,82 @@ //-------------------------------------------------- + +// +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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/file_config/eap_symbian.conf Tue Aug 31 15:16:37 2010 +0300 @@ -1,25 +1,27 @@ # -# 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. +# 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 % # EAP_TRACE_disable_traces = bool:false -EAP_TRACE_enable_timer_traces = bool:false +EAP_TRACE_enable_timer_traces = bool:true -EAP_TRACE_enable_timer_queue_traces = bool:false +EAP_TRACE_enable_timer_queue_traces = bool:true EAP_TRACE_output_file_name = string:e:\logs\eapol\eap_core.txt diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/core/symbian/file_config/eap_trace.conf Tue Aug 31 15:16:37 2010 +0300 @@ -1,3 +1,23 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/eap_notifier/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/eap_notifier/group/bld.inf Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,35 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/eap_notifier/group/eap_notifier.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/eap_notifier/group/eap_notifier.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,43 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_notifier.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_notifier.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,293 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_observer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_observer.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,122 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_ui_strings.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/eap_notifier/inc/eap_auth_ui_strings.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,44 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/eap_notifier/rom/eap_notifier.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/eap_notifier/rom/eap_notifier.iby Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +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: + * + */ + +#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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/eap_notifier/src/eap_auth_notifier.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/eap_notifier/src/eap_auth_notifier.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,572 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/eap_notifier/src/eap_auth_observer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/eap_notifier/src/eap_auth_observer.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,274 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eap_test_timer/symbian/eap_test_timer.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: 8.1.2 % */ // This is enumeration of EAPOL source code. @@ -50,7 +50,7 @@ _LIT(K_eap_test_timer,"eap_test_timer"); -eap_status_e eap_am_tools_symbian_c::start_timer_thread() +EAP_FUNC_EXPORT 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_status_e eap_am_tools_symbian_c::stop_timer_thread() +EAP_FUNC_EXPORT 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200ec9.rss --- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200ec9.rss Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200ec9.rss Tue Aug 31 15:16:37 2010 +0300 @@ -17,7 +17,7 @@ */ /* -* %version: 12 % +* %version: 9.1.2 % */ #include diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200eca.rss --- a/eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200eca.rss Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/data/10200eca.rss Tue Aug 31 15:16:37 2010 +0300 @@ -17,10 +17,10 @@ */ /* -* %version: 11 % +* %version: 9.1.2 % */ -#include +#include RESOURCE REGISTRY_INFO theInfo { diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_implementation.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 21 % +* %version: 19.1.11 % */ #ifndef __EAPPLUGIN_H__ @@ -27,17 +27,20 @@ #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 @@ -48,7 +51,7 @@ */ class CEapVpnInterfaceImplementation : public CEapVpnInterface - , public abs_eap_core_c + , public abs_eap_session_core_c , public abs_eap_base_timer_c { public: @@ -320,6 +323,35 @@ 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); @@ -327,6 +359,13 @@ 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: /** @@ -355,25 +394,17 @@ TBool iQueryIdentity; /// Pointer to the lower layer in the stack - MAbsEapVpnInterface* iCaller; + MAbsEapVpnInterface * iCaller; /// Pointer to the upper layer in the stack - eap_core_c* iEapCore; + eap_session_core_base_c * iEapCore; -#ifdef USE_EAP_EXPANDED_TYPES - eap_type_value_e iRequestedEapType; -#else - - TUint8 iRequestedEapType; + /// Pointer to the tools class + eap_am_tools_symbian_c * m_am_tools; -#endif //#ifdef USE_EAP_EXPANDED_TYPES - - /// Pointer to the tools class - 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; @@ -388,9 +419,10 @@ bool m_is_client; /// Array for storing the loaded EAP types. - RPointerArray m_plugin_if_array; + RPointerArray m_eap_if_array; -#ifdef USE_EAP_EXPANDED_TYPES + /// Array for storing the loaded EAP types. + RPointerArray m_eap_plugin_if_array; /// Enabled expanded EAP configuration data from CommsDat // This is for the outer most EAP (not tunneled) @@ -403,23 +435,13 @@ /// 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; @@ -427,9 +449,9 @@ bool m_stack_marked_to_be_deleted; - HBufC8* iManualUsername; - HBufC8* iManualRealm; - HBufC8* iRealmPrefix; + HBufC8 * iManualUsername; + HBufC8 * iManualRealm; + HBufC8 * iRealmPrefix; TBool iHideInitialIdentity; }; diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_resolver.h Tue Aug 31 15:16:37 2010 +0300 @@ -17,7 +17,7 @@ */ /* -* %version: 10 % +* %version: % */ #ifndef __EAPPLUGINRESOLVER_H__ diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/inc/eap_vpn_if_timer.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6 % +* %version: % */ #if !defined(_EAPOL_TIMER_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_implementation.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,13 +16,16 @@ */ /* -* %version: 38.1.5 % +* %version: 61 % */ // INCLUDE FILES #include #include +#include +#include + #include "eap_vpn_if_implementation.h" #include "eap_am_memory.h" #include "eap_tools.h" @@ -32,13 +35,19 @@ #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; @@ -46,12 +55,6 @@ 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"); @@ -91,9 +94,7 @@ 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) { @@ -215,18 +216,12 @@ 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( @@ -386,15 +381,25 @@ delete m_receive_network_id; } - // Unload all loaded plugins - for(int i = 0; i < m_plugin_if_array.Count(); i++) { - delete m_plugin_if_array[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(); } - m_plugin_if_array.Close(); - -#ifdef USE_EAP_EXPANDED_TYPES + { + // 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_enabled_expanded_eap_array.ResetAndDestroy(); @@ -405,15 +410,6 @@ 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; @@ -683,8 +679,6 @@ // 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. @@ -758,60 +752,6 @@ 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); @@ -1078,7 +1018,11 @@ if (iEapCore == 0) { - iEapCore = new eap_core_c(m_am_tools, this, m_is_client, m_receive_network_id, EFalse); + iEapCore = new_eap_core_client_message_if_c( + m_am_tools, + this, + true, + KMTU); if (iEapCore == 0 || iEapCore->get_is_valid() != true) @@ -1323,96 +1267,186 @@ EAP_ASSERT_TOOLS(m_am_tools, (type == iRequestedEapType)); -#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) + 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). + + { 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); - } + (EAPL("CEapVpnInterfaceImplementation::load_module - About to configure manual/auto username and manual/auto realm \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 + 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"))); + { - // 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))); + CEapTypePlugin* eapPlugin = 0; + + TRAP(error, (eapPlugin = CEapTypePlugin::NewL(aEapType.GetValue(), m_index_type, m_index))); if (error != KErrNone - || eapType == 0) + || eapPlugin == 0) { // Interface not found or implementation creation function failed - delete eapType; - eapType = 0; + delete eapPlugin; + eapPlugin = 0; EAP_TRACE_DEBUG( m_am_tools, @@ -1424,197 +1458,112 @@ (EAPL("ECom could not find/initiate implementation.\n"))); return EAP_STATUS_RETURN(m_am_tools, eap_status_allocation_error); } - } - - //-------------------------------------------------------- - //-------------------------------------------------------- - // 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 ) + +#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) { 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->iEAPType = EAPSettings::EEapAka; - - } - else if(iRequestedEapType == eap_type_gsmsim) - { - setSettings->iEAPType = EAPSettings::EEapSim; + (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 } 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::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; + (EAPL("CEapVpnInterfaceImplementation: EAP Type new, GetStackInterfaceL(), success\n"))); + + status = eap_status_ok; + + if (eapArrayIndex < 0) + { + // 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); + } + } } - 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) - { - 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); @@ -1630,8 +1579,6 @@ 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, @@ -1642,26 +1589,15 @@ { // EAP was loaded before. - delete m_plugin_if_array[index]; - m_plugin_if_array.Remove(index); + 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); 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); } @@ -1758,6 +1694,82 @@ 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 @@ -1789,6 +1801,495 @@ // 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); @@ -1805,15 +2306,13 @@ if (wanted_field.compare( - cf_str_EAP_default_type_u32_t.get_field()->get_field(), - cf_str_EAP_default_type_u32_t.get_field()->get_field_length()) == 0 + cf_str_EAP_default_type_hex_data.get_field()->get_field(), + cf_str_EAP_default_type_hex_data.get_field()->get_field_length()) == 0 || wanted_field.compare( - 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) + 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) { // 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) { @@ -1874,62 +2373,6 @@ 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); } @@ -2009,7 +2452,11 @@ { // Use ManualUsername of EAP-SIM and EAP-AKA. TInt val(1); - if(iManualUsername == NULL || (iManualUsername && (iManualUsername->Length() == 0))) + if(iManualUsername == NULL) + { + val = 0; + } + if (iManualUsername && (iManualUsername->Length() == 0)) { val = 0; } @@ -2025,9 +2472,12 @@ cf_str_EAP_AKA_manual_username.get_field()->get_field_length()) == 0) { // ManualUsername of EAP-SIM and EAP-AKA. - 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); + 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); + } } else if (wanted_field.compare( cf_str_EAP_GSMSIM_2_digit_mnc_map_of_mcc_of_imsi_array.get_field()->get_field(), @@ -2037,30 +2487,6 @@ 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); @@ -2243,11 +2669,16 @@ { 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_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); + } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return status; @@ -2267,9 +2698,14 @@ { 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_status_e status(eap_status_ok); + + if (m_am_tools != 0) + { + status = m_am_tools->am_cancel_timer( + p_initializer, + p_id); + } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return status; @@ -2288,7 +2724,12 @@ { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - const eap_status_e status = m_am_tools->am_cancel_all_timers(); + eap_status_e status(eap_status_ok); + + if (m_am_tools != 0) + { + status = m_am_tools->am_cancel_all_timers(); + } EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return status; @@ -2305,8 +2746,6 @@ 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); @@ -2346,32 +2785,6 @@ 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); @@ -2400,8 +2813,6 @@ 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. @@ -2449,48 +2860,16 @@ 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"), + (EAPL("get_eap_type_list():added EAP-type=0xfe%06x%08x=%s\n"), + expandedEAPType->get_vendor_id(), expandedEAPType->get_vendor_type(), - eap_string.get_eap_type_string(*expandedEAPType))); + eap_header_string_c::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; } @@ -2656,4 +3035,125 @@ //-------------------------------------------------- +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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_main.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ // INCLUDE FILES diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_proxy.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: 8.1.2 % */ // INCLUDE FILES diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolver.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // INCLUDE FILES diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolvermain.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // INCLUDE FILES diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_resolverproxy.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ // INCLUDE FILES diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/eapvpnif/src/eap_vpn_if_timer.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13 % +* %version: % */ // INCLUDE FILES diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapAkaInterface.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapAkaInterface.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapAkaInterface.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13 % +* %version: 10.1.2 % */ #ifndef _EAPAKAINTERFACE_H_ diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapAutomatic.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapAutomatic.h Tue Aug 31 15:16:37 2010 +0300 @@ -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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapConfigToolsSymbian.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapConfigToolsSymbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapConversion.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapConversion.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,141 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierStructs.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierStructs.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierStructs.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #ifndef EAPLEAPNOTIFIERSTRUCTS_H diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierUids.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierUids.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapLeapNotifierUids.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ /** diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapMessageQueue.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapMessageQueue.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,76 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierStructs.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierStructs.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierStructs.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #ifndef EAPMSCHAPV2NOTIFIERSTRUCTS_H diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierUids.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierUids.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapMsChapV2NotifierUids.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ // diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapPluginTools.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapPluginTools.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,78 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapProtectedSetupInterface.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapProtectedSetupInterface.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapProtectedSetupInterface.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6 % +* %version: 4.1.2 % */ #ifndef _EAPPROTECTEDSETUPINTERFACE_H_ @@ -29,7 +29,7 @@ #include // FORWARD DECLARATIONS -class eap_am_type_protected_setup_symbian_c; +class CEapAmProtectedSetupSymbian; // CLASS DECLARATION /** @@ -54,7 +54,7 @@ */ static CEapProtectedSetupInterface* NewL( abs_eap_am_tools_c* const aTools, - eap_am_type_protected_setup_symbian_c* const aParent); + CEapAmProtectedSetupSymbian* const aParent); /** * Destructor @@ -69,7 +69,7 @@ protected: - CEapProtectedSetupInterface(abs_eap_am_tools_c* const aTools, eap_am_type_protected_setup_symbian_c* const aParent); + CEapProtectedSetupInterface(abs_eap_am_tools_c* const aTools, CEapAmProtectedSetupSymbian* const aParent); void ConstructL(); @@ -85,7 +85,7 @@ private: - eap_am_type_protected_setup_symbian_c * const iParent; + CEapAmProtectedSetupSymbian * const iParent; abs_eap_am_tools_c * const m_am_tools; diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierStructs.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierStructs.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierStructs.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #ifndef EAPSECURIDNOTIFIERSTRUCTS_H diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierUids.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierUids.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapSecurIDNotifierUids.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ /** diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapSimInterface.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapSimInterface.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapSimInterface.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13 % +* %version: 9.1.2 % */ #ifndef _EAPSIMINTERFACE_H_ @@ -88,8 +88,6 @@ // Creates the MMETel connection and loads the phone module. TInt CreateMMETelConnectionL(); - void DisconnectMMETel(); - private: eap_am_type_gsmsim_symbian_c * const iParent; diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapSimIsaInterface.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapSimIsaInterface.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapSimIsaInterface.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #ifndef _EAPSIMISAINTERFACE_H_ diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapCertInterface.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapCertInterface.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapCertInterface.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13.1.2 % +* %version: % */ #ifndef _EAPTLSPEAPCERTINTERFACE_H_ @@ -48,17 +48,20 @@ virtual ~CEapTlsPeapCertInterface(); - void ReadCertificateL(SCertEntry& aCertInfo, const TBool aRetrieveChain); + void ReadCertificateL(EapCertificateEntry& aCertInfo, const TBool aRetrieveChain); - void ReadCACertificateL(SCertEntry& aCertInfo); + void ReadCACertificateL(EapCertificateEntry& aCertInfo); void ReadPrivateKeyL(TKeyIdentifier& aHash); - void ValidateChainL(TDesC8& aCertChain, RArray& aCACerts); + void ValidateChainL( + TDesC8& aCertChain, + RPointerArray& aCACerts, + const TBool aUseAutomaticCaCertificate); void GetMatchingCertificatesL( - const RArray& aAllowedUserCerts, + const RPointerArray& aAllowedUserCerts, const TBool aUseCertAuthoritiesFilter, EAP_TEMPLATE_CONST eap_array_c * const aCertAuthorities, const TBool aUseCertTypesFilter, @@ -67,12 +70,12 @@ const RArray& aAllowedCipherSuites); void SignL( - TKeyIdentifier& aKeyId, + const TKeyIdentifier& aKeyId, const TDesC8& aHashIn, const TUint aSignatureLength); void DecryptL( - TKeyIdentifier& aKeyId, + const TKeyIdentifier& aKeyId, const TDesC8& aData); void CancelSignWithPrivateKey(); @@ -134,7 +137,7 @@ RFs iFs; - RArray iAllowedUserCerts; + RPointerArray iAllowedUserCerts; TBool iUseCertAuthoritiesFilter; @@ -145,9 +148,9 @@ TBool iRSACertsAllowed; TBool iDSACertsAllowed; - + RPointerArray iCertAuthorities; - + const eap_array_c* iCertTypes; RMPointerArray iCertInfos; @@ -173,17 +176,17 @@ RPointerArray iUserCertChain; - CArrayFixFlat iMatchingUserCertInfos; + RPointerArray iMatchingUserCertInfos; TUint iCAIndex; TUint iUserCertIndex; - RArray iAllowedCACerts; + RPointerArray iAllowedCACerts; HBufC8* iInputCertChain; - SCertEntry iCertInfo; + EapCertificateEntry iCertInfo; TAny *iResArray; @@ -209,6 +212,9 @@ CUnifiedKeyStore* iKeyStore; TBool iRetrieveChain; + + TBool iUseAutomaticCaCertificate; + }; #endif // _EAPTLSPEAPCERTINTERFACE_H_ diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapNotifierStructs.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapNotifierStructs.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapNotifierStructs.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,24 +16,59 @@ */ /* -* %version: 6.1.2 % +* %version: % */ #ifndef _CERTIFICATESELECTIONINFO_H_ #define _CERTIFICATESELECTIONINFO_H_ #include "EapTlsPeapUtils.h" +#include "EapTraceSymbian.h" const TUint KIdentityFieldLength = 64; -struct TCertificateSelectionInfo +class TCertificateSelectionInfo { - TInt iCount; - TFixedArray iCertificates; + +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; }; -struct TIdentityInfo +class 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapTimerValues.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapTimerValues.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapTlsPeapTimerValues.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #ifndef _EAPTLSPEAPTIMERVALUES_H_ diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapTtlsPapDbInfoStruct.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapTtlsPapDbInfoStruct.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapTtlsPapDbInfoStruct.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #ifndef EAPTTLSPAPDBINFOSTRUCT_H diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/Eapol.h --- a/eapol/eapol_framework/eapol_symbian/am/include/Eapol.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/Eapol.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_EAPOL_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapolDbDefaults.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapolDbDefaults.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapolDbDefaults.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: 5.1.5 % */ #if !defined(_EAPOLDBDEFAULTS_H_) @@ -24,44 +24,17 @@ // LOCAL CONSTANTS -#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) +// For EAPOL database. +// Database will be written to private folder of the WLAN-server. +_LIT(KEapolDatabaseName, "eapol.dat"); _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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapolDbParameterNames.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapolDbParameterNames.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapolDbParameterNames.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_EAPOLDBPARAMETERNAMES_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapolTimer.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapolTimer.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapolTimer.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #if !defined(_EAPOL_TIMER_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapolToWlmIf.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapolToWlmIf.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapolToWlmIf.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_EAPOLTOWLMIF_H_) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/EapolUID.h --- a/eapol/eapol_framework/eapol_symbian/am/include/EapolUID.h Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/EapolUID.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12.1.2 % +* %version: 23 % */ #ifndef _EAPOLUID_H_ @@ -55,8 +55,8 @@ #define EAP_MSCHAPV2_CHANGE_PASSWORD_NOTIFIER_UID 0x101f8e6a // EAP-SecurID +#define EAP_SECURID_DLL_UID 0x101f8e74 #define EAP_SECURID_NOTIFIERS_DLL_UID 0x101f8e6c -#define EAP_SECURID_DLL_UID 0x101f8e74 #define EAP_SECURID_IMPLEMENTATION_UID 0x101f8e75 #define EAP_SECURID_IDENTITY_NOTIFIER_UID 0x101f8e76 #define EAP_SECURID_PASSCODE_NOTIFIER_UID 0x101f8e77 @@ -81,6 +81,51 @@ #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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/abs_eapol_am_core_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #if !defined(_ABS_EAPOL_AM_CORE_SYMBIAN_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/abs_eapol_am_core_symbian_simulator.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ #if !defined(_ABS_EAPOL_AM_CORE_SYMBIAN_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_async_wait_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: 2.1.2 % */ #ifndef _EAP_AM_ASYNC_WAIT_SYMBIAN_H_ @@ -39,7 +39,7 @@ /** * Destructor. */ - ~eap_am_async_wait_symbian_c() ; + virtual ~eap_am_async_wait_symbian_c() ; public: diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_crypto_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6 % +* %version: % */ #if !defined( _EAP_AM_CRYPTO_SYMBIAN_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_file_input_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 3.1.12 % +* %version: % */ #if !defined(_EAP_AM_FILE_INPUT_SYMBIAN_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_mutex_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #if !defined( _EAP_AM_MUTEX_SYMBIAN_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_semaphore_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5 % +* %version: % */ #if !defined( _EAP_AM_SEMAPHORE_SYMBIAN_H_ ) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_tools_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 3.1.2 % +* %version: % */ // INCLUDES @@ -51,6 +51,7 @@ private: #if defined(USE_EAP_FILE_TRACE) + /// File server used in filetrace. RFs m_Fs; @@ -59,8 +60,12 @@ /// 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; @@ -163,6 +168,9 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/eap_am_trace_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_trace_symbian.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +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: 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_aka_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 20 % +* %version: 18.1.4 % */ #if !defined(_EAP_AM_TYPE_AKA_SYMBIAN_H_) @@ -423,8 +423,10 @@ void store_authentication_timeL(); private: + //-------------------------------------------------- - RDbs m_session; + + RFs m_session; RDbNamedDatabase m_database; @@ -494,14 +496,6 @@ // 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_gsmsim_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 21 % +* %version: 19.1.4 % */ #if !defined(_EAP_AM_TYPE_GSMSIM_SYMBIAN_H_) @@ -262,6 +262,7 @@ //-------------------------------------------------- private: + void type_configure_readL( eap_config_string field, const u32_t field_length, @@ -337,10 +338,12 @@ private: + //-------------------------------------------------- - RDbs m_session; + + RFs m_session; - RDbNamedDatabase m_database; + RDbNamedDatabase m_database; eap_am_tools_symbian_c * const m_am_tools; @@ -400,14 +403,6 @@ // 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_gsmsim_symbian_simulator.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: % */ #if !defined(_EAP_AM_TYPE_GSMSIM_SYMBIAN_SIMULATOR_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_leap_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,19 +16,26 @@ */ /* -* %version: 18 % +* %version: 16.1.11 % */ #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" -#include "EapLeapNotifierStructs.h" + +#if defined(USE_EAP_AUTH_NOTIFIER) +#include "eap_auth_notifier.h" +#endif //#if defined(USE_EAP_AUTH_NOTIFIER) + #include #include @@ -42,6 +49,10 @@ */ 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: //-------------------------------------------------- @@ -50,15 +61,17 @@ abs_eap_base_type_c * const m_partner; - RDbs m_session; + RFs m_session; RDbNamedDatabase m_database; +#if defined(USE_EAP_AUTH_NOTIFIER) RNotifier m_notifier; - TEapLeapUsernamePasswordInfo * m_input_output_data_ptr; + CEapAuthNotifier::TEapDialogInfo * m_input_output_data_ptr; - TPckg * m_input_output_pckg_ptr; + TPckg * m_input_output_pckg_ptr; +#endif //#if defined(USE_EAP_AUTH_NOTIFIER) eap_am_network_id_c m_receive_network_id; @@ -82,19 +95,10 @@ 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); /** @@ -105,6 +109,9 @@ bool is_session_validL(); +#if defined(USE_EAP_AUTH_NOTIFIER) + CEapAuthNotifier* iEapAuthNotifier; +#endif //#if defined(USE_EAP_AUTH_NOTIFIER) //-------------------------------------------------- protected: @@ -197,6 +204,10 @@ */ eap_status_e store_authentication_time(); + void DlgComplete( TInt aStatus ); + + TInt IsDlgReadyToCompleteL(); + }; // class eap_am_type_leap_symbian_c diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_mschapv2_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 18 % +* %version: 16.1.8 % */ #ifndef _EAP_AM_TYPE_MSCHAPV2_SYMBIAN_H_ @@ -27,7 +27,8 @@ #include "abs_eap_base_type.h" #include "eap_am_type_mschapv2.h" #include "eap_type_mschapv2.h" -#include "EapMsChapV2NotifierStructs.h" +#include "eap_auth_notifier.h" + #include #include @@ -39,14 +40,19 @@ */ 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; - RDbs m_session; + RFs m_session; RDbNamedDatabase m_database; @@ -58,7 +64,7 @@ TState m_state; - RNotifier m_notifier; + eap_variable_data_c * m_username_utf8; eap_variable_data_c * m_password_utf8; @@ -66,8 +72,9 @@ bool * m_password_prompt_enabled; bool m_is_identity_query; - TEapMsChapV2UsernamePasswordInfo * m_username_password_io_ptr; - TPckg * m_username_password_io_pckg_ptr; + CEapAuthNotifier::TEapDialogInfo * m_username_password_io_ptr; + TPckg * m_username_password_io_pckg_ptr; + eap_am_network_id_c m_receive_network_id; @@ -83,18 +90,13 @@ 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; + CEapAuthNotifier* iEapAuthNotifier; + void send_error_notification(const eap_status_e error); @@ -202,6 +204,10 @@ */ eap_status_e store_authentication_time(); + EAP_FUNC_IMPORT void DlgComplete( TInt aStatus ); + + TInt IsDlgReadyToCompleteL(); + }; // class eap_am_type_mschapv2_symbian_c diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_protected_setup_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 18 % +* %version: 13.1.9 % */ #if !defined(_EAP_AM_TYPE_PROTECTED_SETUP_SYMBIAN_H_) @@ -52,14 +52,15 @@ */ -class EAP_EXPORT eap_am_type_protected_setup_symbian_c -: public eap_am_type_simple_config_c +class EAP_EXPORT CEapAmProtectedSetupSymbian +: public CBase +, public eap_am_type_simple_config_c { public: //-------------------------------------------------- - EAP_FUNC_IMPORT static eap_am_type_protected_setup_symbian_c* NewL( + EAP_FUNC_IMPORT static CEapAmProtectedSetupSymbian* NewL( abs_eap_am_tools_c * const tools, abs_eap_base_type_c * const partner, const TIndexType aIndexType, @@ -71,7 +72,7 @@ abs_eap_configuration_if_c * const configuration_if); // - EAP_FUNC_IMPORT ~eap_am_type_protected_setup_symbian_c(); + EAP_FUNC_IMPORT virtual ~CEapAmProtectedSetupSymbian(); EAP_FUNC_IMPORT void set_is_valid(); @@ -243,7 +244,7 @@ //-------------------------------------------------- - eap_am_type_protected_setup_symbian_c( + CEapAmProtectedSetupSymbian( abs_eap_am_tools_c * const tools, abs_eap_base_type_c * const partner, const TIndexType aIndexType, @@ -330,7 +331,7 @@ //----------------------------------------------------------------- -}; // class eap_am_type_protected_setup_symbian_c +}; // class CEapAmProtectedSetupSymbian #endif //#if !defined(_EAP_AM_TYPE_PROTECTED_SETUP_SYMBIAN_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_securid_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 18 % +* %version: 16.1.11 % */ #ifndef EAP_AM_TYPE_SECURID_SYMBIAN_H @@ -27,7 +27,8 @@ #include "abs_eap_base_type.h" #include "eap_am_type_securid.h" #include "eap_am_network_id.h" -#include "EapSecurIDNotifierStructs.h" +#include "eap_auth_notifier.h" + #include #include @@ -38,11 +39,16 @@ * For Symbian OS. */ class EAP_EXPORT eap_am_type_securid_symbian_c - : public CActive, public eap_am_type_securid_c + : public CActive + , public eap_am_type_securid_c + , public abs_eap_base_timer_c + , public MNotificationCallback + + { private: - RDbs m_session; + RFs m_session; RDbNamedDatabase m_database; @@ -51,15 +57,17 @@ EHandlingIdentityQuery, EHandlingPasscodeQuery, EHandlingPincodeQuery, - EHandlingGTCQuery + EHandlingGTCQuery, + EHandlingTimerCall }; TState m_state; RNotifier m_notifier; - TEapSecurIDStruct * m_dialog_data_ptr; - TPckg * m_dialog_data_pckg_ptr; + CEapAuthNotifier::TEapDialogInfo * m_dialog_data_ptr; + TPckg * m_dialog_data_pckg_ptr; + abs_eap_am_tools_c * const m_am_tools; @@ -88,20 +96,13 @@ // 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( @@ -205,6 +206,17 @@ */ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_sim_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #if !defined(_EAP_AM_TYPE_SIM_SYMBIAN_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_tls_peap_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 86.1.2 % +* %version: 112 % */ #if !defined(_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H_) @@ -33,7 +33,8 @@ #include #include #include -#include "EapTlsPeapNotifierStructs.h" +#include "eap_auth_notifier.h" + #include "EapTlsPeapUtils.h" #include @@ -48,14 +49,12 @@ 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; -struct SInfoEntry; +class SInfoEntry; #endif #if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS) class eap_file_config_c; @@ -63,6 +62,7 @@ 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,8 +72,10 @@ /// 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 CActive +, public eap_am_type_tls_peap_c +, public abs_eap_base_timer_c +, public MNotificationCallback { public: @@ -85,10 +87,12 @@ EEapFastPacProvisResultSuccess /* 1 */ }; #endif + private: // data -//-------------------------------------------------- - RDbs m_session; + //-------------------------------------------------- + + RFs m_session; RDbNamedDatabase m_database; @@ -98,17 +102,21 @@ EHandlingManualIdentityQuery, /* 1 */ EHandlingChainQuery, /* 2 */ EHandlingCipherSuiteQuery, /* 3 */ -#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 */ + 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 */ #endif //#if defined(USE_FAST_EAP_TYPE) + EPapUserNameAndPassword, /* 15 */ + EPapChallenge, /* 16 */ + ENone /* 17 */ }; @@ -130,9 +138,7 @@ #if defined(USE_FAST_EAP_TYPE) abs_tls_am_application_eap_fast_c * m_tls_application; - CEapFastActive* iEapFastActiveWaitNote; - CEapFastActive* iEapFastActiveNotes; - + enum TAlterTableCmd { EAddColumn, @@ -146,11 +152,6 @@ 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; @@ -158,8 +159,8 @@ TBufC m_db_name; #if defined (USE_FAST_EAP_TYPE) -TBufC m_db_fast_special_table_name; -RArray m_info_array; + TBufC m_db_fast_special_table_name; + RPointerArray m_info_array; #endif u32_t m_max_count_of_session_resumes; @@ -174,7 +175,7 @@ CEapTlsPeapCertInterface* m_cert_if; - SCertEntry m_own_certificate_info; + EapCertificateEntry m_own_certificate_info; eap_am_network_id_c m_receive_network_id; @@ -182,11 +183,11 @@ TKeyIdentifier m_subject_key_id; - RArray m_allowed_ca_certs; + RPointerArray m_allowed_ca_certs; - RArray m_allowed_user_certs; + RPointerArray m_allowed_user_certs; - RArray m_allowed_server_certs; + RPointerArray m_allowed_server_certs; RArray m_allowed_cipher_suites; @@ -198,20 +199,11 @@ bool m_shutdown_was_called; -#ifdef USE_EAP_EXPANDED_TYPES - /// Tunneling EAP configuration data from EAP database. - RExpandedEapTypePtrArray m_enabled_tunneling_exp_eap_array; - RExpandedEapTypePtrArray m_disabled_tunneling_exp_eap_array; + RPointerArray m_enabled_tunneling_exp_eap_array; + RPointerArray 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; @@ -230,6 +222,8 @@ 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; @@ -264,18 +258,16 @@ 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. + - TEapFastNotifierStruct * m_notifier_data_to_user; - TPckg * m_notifier_data_pckg_to_user; + CEapAuthNotifier::TEapDialogInfo * m_notifier_data_to_user; - TEapFastNotifierStruct * m_notifier_data_from_user; - TPckg * m_notifier_data_pckg_from_user; + TPckg * m_notifier_data_pckg_to_user; /* For MMETEL */ +#if defined(USE_FAST_EAP_TYPE) // ETel connection. RTelServer iServer; @@ -287,6 +279,7 @@ // Tells if MMETEL is connected already or not. TBool iMMETELConnectionStatus; + TBool m_completed_with_zero; TBool m_verificationStatus; @@ -294,7 +287,6 @@ 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; @@ -316,6 +308,7 @@ 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; @@ -338,7 +331,16 @@ * Provides asynch services used by the caller such as * query for TTLS-PAP user name and password. */ - CEapTtlsPapActive* iEapTtlsPapActive; + + // eap_am_type_tls_peap_symbian_c* iCaller; + + eap_variable_data_c* iPacStoreDeviceSeed; + +#ifdef USE_PAC_STORE +#endif + + CEapAuthNotifier* iEapAuthNotifier; + //-------------------------------------------------- @@ -419,10 +421,6 @@ 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(); /** @@ -460,8 +458,7 @@ 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(); @@ -473,8 +470,6 @@ eap_status_e CompleteFilePasswordQueryL(); - eap_status_e CompleteNotifierL(); - eap_status_e CompleteFilePasswordQuery(); eap_status_e FinalCompleteReadPACStoreDataL(eap_status_e status); @@ -562,7 +557,23 @@ 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 //-------------------------------------------------- @@ -602,7 +613,7 @@ EAP_FUNC_IMPORT virtual ~eap_am_type_tls_peap_symbian_c(); - EAP_FUNC_EXPORT eap_status_e shutdown(); + EAP_FUNC_IMPORT eap_status_e shutdown(); EAP_FUNC_IMPORT void set_is_valid(); @@ -816,9 +827,9 @@ eap_status_e complete_read_ca_certificate( const RPointerArray& aCertChain, eap_status_e aStatus); - void complete_validate_chain(CPKIXValidationResult& aValidationResult, eap_status_e aStatus); + void complete_validate_chain(const CPKIXValidationResult * const aValidationResult, const eap_status_e aStatus); - void complete_get_matching_certificates(CArrayFixFlat& aMatchingCerts, eap_status_e aStatus); + void complete_get_matching_certificates(RPointerArray& aMatchingCerts, eap_status_e aStatus); void complete_sign(const RInteger& aR, const RInteger& aS, eap_status_e aStatus); @@ -1016,7 +1027,12 @@ #if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS) eap_status_e ReadFileConfig(); #endif -#endif + +#endif + + EAP_FUNC_IMPORT void DlgComplete( TInt aStatus ); + + }; // class eap_am_type_tls_peap_symbian_c diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,379 +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(_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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian_simulator.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7.1.2 % +* %version: % */ #if !defined(_EAP_AM_SYMBIAN_H_) @@ -92,7 +92,7 @@ #if defined(USE_EAPOL_LLC_INTERFACE) // - EAP_FUNC_EXPORT eap_status_e packet_process( + EAP_FUNC_IMPORT eap_status_e packet_process( RMBufChain& aPdu); #endif //#if defined(USE_EAPOL_LLC_INTERFACE) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_core_symbian_wlm.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #if !defined(_EAPOL_AM_CORE_SYMBIAN_WLM_H_) diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eapol_am_wlan_authentication_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 30.1.2 % +* %version: 46 % */ #if !defined(_EAPOL_AM_WLAN_AUTHENTICATION_SYMBIAN_H_) @@ -38,29 +38,10 @@ #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; @@ -75,8 +56,7 @@ /// 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 CActive -, public eapol_am_wlan_authentication_c +: 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) @@ -104,47 +84,18 @@ /// HAHS of WPA(2)-PSK eap_variable_data_c m_wpa_preshared_key_hash; - /// 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; + /// Database reference to EAPOL settings. + eap_variable_data_c m_database_reference; /// Handle of database session. - RDbs m_session; + RFs m_session; /// Handle of database file. - 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 + //RFs m_fs; /// 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; @@ -196,29 +147,14 @@ /// This function saves WPA(2)-PSK to database. void SavePSKL(TPSKEntry& entry); - /// 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 WPA-settings from database. + void ReadWPASettingsL(); /// 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); @@ -232,8 +168,7 @@ // EAP_FUNC_IMPORT eapol_am_wlan_authentication_symbian_c( abs_eap_am_tools_c * const tools, - const bool is_client_when_true, - const abs_eapol_wlan_database_reference_if_c * const wlan_database_reference); + const bool is_client_when_true); /// See comments of the functions from eapol_am_wlan_authentication_c. @@ -251,7 +186,7 @@ #endif // #if defined(USE_EAP_SIMPLE_CONFIG) ); - EAP_FUNC_IMPORT eap_status_e reset_eap_configuration(); + EAP_FUNC_IMPORT eap_status_e reset_wpa_configuration(); EAP_FUNC_IMPORT eap_status_e set_wlan_parameters( const eap_variable_data_c * const SSID, @@ -266,9 +201,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 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); @@ -277,18 +209,6 @@ 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); @@ -309,17 +229,12 @@ 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_EXPORT eap_status_e save_simple_config_session( + 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, @@ -328,6 +243,9 @@ #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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/AbsEapCertificateFetcher.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/AbsEapCertificateFetcher.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,50 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/AbsEapTlsPeapUiCertificates.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/AbsEapTlsPeapUiCertificates.h Tue Aug 31 15:16:37 2010 +0300 @@ -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: % +*/ + +#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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastNotifierStruct.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastNotifierStruct.h Tue Aug 31 15:16:37 2010 +0300 @@ -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: % +*/ + +#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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastPacStore.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastPacStore.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,74 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastPacStore.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapFastPacStore.inl Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,49 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCertificates.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCertificates.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,96 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCipherSuite.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCipherSuite.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,69 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCipherSuites.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiCipherSuites.h Tue Aug 31 15:16:37 2010 +0300 @@ -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: % +*/ + +#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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiConnection.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiConnection.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,141 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiDataConnection.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiDataConnection.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,74 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiEapType.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiEapType.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,69 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiEapTypes.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiEapTypes.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,70 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiTlsPeapData.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTlsPeapUiTlsPeapData.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,113 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTtlsPapNotifierStruct.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eaptlspeap_db_api_inc/EapTtlsPapNotifierStruct.h Tue Aug 31 15:16:37 2010 +0300 @@ -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: % +*/ + +#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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/EapAkaInterface.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/EapAkaInterface.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/EapAkaInterface.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 17.1.3 % +* %version: 18 % */ // This is enumeration of EAPOL source code. @@ -191,8 +191,6 @@ if (iQueryId == EQueryRES) { - iQueryId = EQueryNone; - // Cancel the request. iCustomAPI.CancelAsyncRequest( ECustomGetSimAuthenticationDataIPC ); @@ -231,15 +229,12 @@ 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); @@ -268,7 +263,6 @@ 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"), @@ -287,8 +281,6 @@ iEAPAka.iAUTS.Ptr(), iEAPAka.iAUTS.Size())); - iQueryId = EQueryNone; - delete iAuthenticationData; iAuthenticationData = NULL; @@ -343,7 +335,6 @@ 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"))); @@ -355,7 +346,6 @@ // 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"))); @@ -493,8 +483,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/eap_am_type_aka_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 49 % +* %version: 46.1.10 % */ // This is enumeration of EAPOL source code. @@ -36,7 +36,7 @@ #include "EapAkaDbDefaults.h" #include "EapAkaDbParameterNames.h" #include "EapAkaDbUtils.h" -#include "eap_am_trace_symbian.h" +#include "EapTraceSymbian.h" #include // For DBMS #include // For RReadStream @@ -154,16 +154,6 @@ { 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) { @@ -205,6 +195,10 @@ } #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); @@ -225,7 +219,7 @@ //-------------------------------------------------- -eap_am_type_aka_symbian_c* eap_am_type_aka_symbian_c::NewL( +EAP_FUNC_EXPORT 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, @@ -314,7 +308,7 @@ // Read Maximum Session Validity Time from the config file eap_variable_data_c sessionTimeFromFile(m_am_tools); - eap_status_e status = m_partner->read_configure( + eap_status_e status = type_configure_read( cf_str_EAP_AKA_max_session_validity_time.get_field(), &sessionTimeFromFile); @@ -337,7 +331,7 @@ // We have to set the values for K, OP and AMF in simulator. { - eap_status_e status = m_partner->read_configure( + eap_status_e status = type_configure_read( cf_str_EAP_AKA_simulator_aka_k.get_field(), &m_simulator_aka_K); if (status == eap_status_ok @@ -366,7 +360,7 @@ } { - eap_status_e status = m_partner->read_configure( + eap_status_e status = type_configure_read( cf_str_EAP_AKA_simulator_aka_op.get_field(), &m_simulator_aka_OP); if (status == eap_status_ok @@ -395,7 +389,7 @@ } { - eap_status_e status = m_partner->read_configure( + eap_status_e status = type_configure_read( cf_str_EAP_AKA_simulator_aka_amf.get_field(), &m_simulator_aka_AMF); if (status == eap_status_ok @@ -582,9 +576,19 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _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); + _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()); // Evaluate view RDbView view; @@ -684,9 +688,19 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _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); + _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()); // Evaluate view RDbView view; @@ -812,9 +826,22 @@ 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"); - sqlStatement.Format(KSQLInsert, &KXKey, &KK_aut, &KK_encr, &KReauthCounter, &KAkaTableName, - &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); + _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()); // Evaluate view RDbView view; @@ -953,9 +980,22 @@ 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"); - sqlStatement.Format(KSQLQuery, &KXKey, &KK_aut, &KK_encr, &KReauthCounter, &KAkaTableName, - &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); + _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()); RDbView view; // Evaluate view @@ -1064,9 +1104,19 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _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); + _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()); // Evaluate view RDbView view; @@ -1179,11 +1229,22 @@ 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"); - sqlStatement.Format(KSQLQuery, &KReauthId, &KReauthCounter, &KPseudonymId, - &KPreviousIMSI, &KAkaTableName, - &KServiceType, m_index_type, - &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); + _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()); RDbView view; // Evaluate view @@ -1386,7 +1447,7 @@ //-------------------------------------------------- -eap_status_e eap_am_type_aka_symbian_c::complete_AKA_imsi_L( +EAP_FUNC_EXPORT 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 ) { @@ -1544,9 +1605,19 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _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); + _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()); // Evaluate view RDbView view; @@ -1700,7 +1771,7 @@ //-------------------------------------------------- -eap_status_e eap_am_type_aka_symbian_c::complete_AKA_RES_L( +EAP_FUNC_EXPORT 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, @@ -2605,7 +2676,7 @@ //-------------------------------------------------- -eap_status_e eap_am_type_aka_symbian_c::generate_reauthentication_id( +EAP_FUNC_EXPORT 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, @@ -2818,9 +2889,19 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _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); + _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()); RDbView view; User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); @@ -2982,7 +3063,7 @@ //-------------------------------------------------- -bool eap_am_type_aka_symbian_c::is_session_valid() +EAP_FUNC_EXPORT bool eap_am_type_aka_symbian_c::is_session_valid() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -3016,11 +3097,20 @@ 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"); - 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); + _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()); RDbView view; // Evaluate view @@ -3138,10 +3228,19 @@ TPtr sqlStatement = buf->Des(); // Query all the relevant parameters - _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); + _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()); RDbView view; // Evaluate view diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAka.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,14 +16,14 @@ */ /* -* %version: 9.1.2 % +* %version: 16 % */ #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 CEapType +class CEapAka : public CEapTypePlugin { public: @@ -87,16 +87,13 @@ #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* GetInfoLC(); + CEapTypeInfo* GetInfoL(); /** * Deletes EAP type configuration @@ -118,7 +115,7 @@ * EAP type. * @param aTunnelingType Type number for the tunneling type */ - void SetTunnelingType(const TInt aTunnelingType); + void SetTunnelingType(const TEapExpandedType aTunnelingType); /** * Changes the index of the saved parameters. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbDefaults.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,49 +16,24 @@ */ /* -* %version: 17 % +* %version: % */ #if !defined(_EAPAKADBDEFAULTS_H_) #define _EAPAKADBDEFAULTS_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. -}; +#include "EapPluginDbDefaults.h" // LOCAL CONSTANTS -const TUint default_EAP_AKA_use_manual_realm = EAKAUseManualRealmNo; -_LIT(default_EAP_AKA_manual_realm, ""); +const TUint default_EAP_AKA_use_manual_realm = EEapDbFalse; -const TUint default_EAP_AKA_use_manual_username = EAKAUseManualUsernameNo; -_LIT(default_EAP_AKA_manual_username, ""); +const TUint default_EAP_AKA_use_manual_username = EEapDbFalse; -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 default_EAP_AKA_use_pseudonym_identity = EEapDbTrue; // Default is use pseudonym identity. 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbParameterNames.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13.1.2 % +* %version: % */ #if !defined(_EAPAKADBPARAMETERNAMES_H_) @@ -28,6 +28,7 @@ _LIT(KServiceType, "ServiceType"); _LIT(KServiceIndex, "ServiceIndex"); +_LIT(KTunnelingTypeVendorId, "TunnelingTypeVendorId"); _LIT(KTunnelingType, "TunnelingType"); _LIT(KPseudonymId, "PseudonymId"); _LIT(KXKey, "XKEY"); diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaDbUtils.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: 7.1.6 % */ #ifndef _EAPAKADBUTILS_H_ @@ -29,32 +29,22 @@ // LOCAL CONSTANTS -#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"); +// 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. -_LIT(KSecureUIDFormat, "SECURE[102072e9]"); // For the security policy. - -#else - -_LIT(KDatabaseName, "c:\\system\\data\\eapaka.dat"); - -#endif // #ifdef SYMBIAN_SECURE_DBMS +_LIT(KEapAkaDatabaseName, "eapaka.dat"); _LIT(KAkaTableName, "eapaka"); // CLASS DECLARATION class EapAkaDbUtils { + public: static void OpenDatabaseL( RDbNamedDatabase& aDatabase, - RDbs& aSession, + RFs& aFileServerSession, const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); @@ -98,7 +88,6 @@ const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); - }; #endif // _EAPAKADBUTILS_H_ diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/inc/EapAkaGlobal.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #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, "20040829:"); +_LIT(KReleaseDate, ""); _LIT(KEapTypeVersion, "1.0"); -_LIT(KManufacturer, "Nokia"); +_LIT(KManufacturer, ""); _LIT(KNokiaSignature, ""); // Not used _LIT(KExtraInfo1, ""); // Not used _LIT(KExtraInfo2, ""); // Not used diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/102073c1.rss Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: 6.1.2 % */ // INCLUDES diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAka.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 15.1.2 % +* %version: 25 % */ // This is enumeration of EAPOL source code. @@ -37,12 +37,11 @@ #include #include "eap_am_type_aka_symbian.h" #include "EapAkaDbUtils.h" - -#include -#include "EapAkaUi.h" - +#include "EapConversion.h" #include "eap_am_tools_symbian.h" +#include "EapTraceSymbian.h" + // LOCAL CONSTANTS @@ -138,40 +137,19 @@ } // ---------------------------------------------------------- -TInt CEapAka::InvokeUiL() -{ - TInt buttonId(0); - -#ifdef USE_EAP_EXPANDED_TYPES - 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* CEapAka::GetInfoL() { CEapTypeInfo* info = new(ELeave) CEapTypeInfo( (TDesC&)KReleaseDate, (TDesC&)KEapTypeVersion, (TDesC&)KManufacturer); - CleanupStack::PushL(info); return info; } // ---------------------------------------------------------- + void CEapAka::DeleteConfigurationL() { EapAkaDbUtils::DeleteConfigurationL(iIndexType, iIndex, iTunnelingType); @@ -186,19 +164,22 @@ // ---------------------------------------------------------- -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 -} +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; + + + } // ---------------------------------------------------------- @@ -223,13 +204,16 @@ RDbNamedDatabase db; - RDbs session; - - EapAkaDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); + RFs session; 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, @@ -242,7 +226,11 @@ iIndexType = aIndexType; iIndex = aIndex; - CleanupStack::PopAndDestroy(2); // db + db.Close(); + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&session); } // ---------------------------------------------------------- @@ -251,22 +239,29 @@ { RDbNamedDatabase db; - RDbs session; - + 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); + // 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); - - CleanupStack::PopAndDestroy(2); // db, session + + db.Close(); + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&session); } // ---------------------------------------------------------- @@ -275,13 +270,16 @@ { RDbNamedDatabase db; - RDbs session; - + 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); + // This also creates the IAP entry if it doesn't exist EapAkaDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); - - CleanupClosePushL(session); - CleanupClosePushL(db); EapAkaDbUtils::GetConfigurationL( db, @@ -289,8 +287,12 @@ iIndexType, iIndex, iTunnelingType); - - CleanupStack::PopAndDestroy(2); // db, session + + db.Close(); + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&session); } // ---------------------------------------------------------- @@ -316,13 +318,16 @@ RDbNamedDatabase db; - RDbs session; - - EapAkaDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); - + RFs session; + 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, @@ -331,8 +336,12 @@ aDestinationIndexType, aDestinationIndex, iTunnelingType); - - CleanupStack::PopAndDestroy(2); // db - + + db.Close(); + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&session); } + // End of file diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaDbUtils.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 29.1.2 % +* %version: 54 % */ // This is enumeration of EAPOL source code. @@ -34,160 +34,146 @@ #include "EapAkaDbParameterNames.h" #include "eap_type_aka_types.h" -#include "eap_am_trace_symbian.h" +#include +#include "EapPluginTools.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(); +// ---------------------------------------------------------- -#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) ); +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()) ); // 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 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) + TInt error(KErrNone); + TFileName aPrivateDatabasePathName; + + EapPluginTools::CreateDatabaseLC( + aDatabase, + aFileServerSession, + error, + KEapAkaDatabaseName, + aPrivateDatabasePathName); + + if(error == KErrNone) { aDatabase.Close(); - - } else if (err != KErrAlreadyExists) + } + else if (error != KErrAlreadyExists) { - User::LeaveIfError(err); + 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 + 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); // 2. Create the eapaka table to database (ignore error if exists) -// 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 |// -////////////////////////////////////////////////////////////////////////////////////////////////// + // 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 |// + ////////////////////////////////////////////////////////////////////////////////////////////////// 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 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 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, - &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); + 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); - err = aDatabase.Execute(sqlStatement); - if (err != KErrNone && err != KErrAlreadyExists) + error = aDatabase.Execute(sqlStatement); + if (error != KErrNone && error != KErrAlreadyExists) { - User::Leave(err); + User::Leave(error); } // 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"); - sqlStatement.Format(KSQLQueryRow, &cf_str_EAP_AKA_manual_realm_literal, &KAkaTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); RDbView view; User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); @@ -216,13 +202,14 @@ view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); + 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_AKA_use_manual_realm_literal), default_EAP_AKA_use_manual_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_manual_realm_literal), default_EAP_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_AKA_manual_username); + view.SetColL(colSet->ColNo(cf_str_EAP_AKA_manual_username_literal), default_EAP_username); view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), default_EAP_AKA_use_pseudonym_identity); @@ -232,19 +219,20 @@ view.PutL(); - CleanupStack::PopAndDestroy( colSet ); // Delete colSet. + CleanupStack::PopAndDestroy( colSet ); - CleanupStack::PopAndDestroy( &view ); // Close view. + CleanupStack::PopAndDestroy( &view ); } - CleanupStack::PopAndDestroy( buf ); // Delete buf - + aDatabase.Compact(); + + CleanupStack::PopAndDestroy( buf ); CleanupStack::Pop( &aDatabase ); - CleanupStack::Pop( &aSession ); - - aDatabase.Compact(); + CleanupStack::Pop( &aFileServerSession ); } +// ---------------------------------------------------------- + void EapAkaDbUtils::SetIndexL( RDbNamedDatabase& aDatabase, const TIndexType aIndexType, @@ -254,25 +242,37 @@ 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(); + 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())); -#else - - TUint aTunnelingVendorType = static_cast(aTunnelingType); - TUint aNewTunnelingVendorType = static_cast(aNewTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapAkaDbUtils::SetIndexL()\n")); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + _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, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQL, + &KAkaTableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); RDbView view; @@ -301,16 +301,19 @@ view.UpdateL(); view.SetColL(colSet->ColNo(KServiceType), aNewIndexType); - view.SetColL(colSet->ColNo(KServiceIndex), aNewIndex); - - view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingVendorType); + view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aNewTunnelingType.get_vendor_id()); + view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingType.get_vendor_type()); view.PutL(); - CleanupStack::PopAndDestroy(3); // view, colset, buf + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); } +// ---------------------------------------------------------- + void EapAkaDbUtils::SetConfigurationL( RDbNamedDatabase& aDatabase, const EAPSettings& aSettings, @@ -318,80 +321,20 @@ 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("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("EapAkaDbUtils::SetConfigurationL -Start- aIndexType=%d, aIndex=%d, aTunnelingVendorType=0xfe%06x%08x\n"), + aIndexType, + aIndex, + aTunnelingType.get_vendor_id(), + aTunnelingType.get_vendor_type())); - 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_DEBUG_SYMBIAN((_L("*************************** SetConfigurationL(): Set the below values: ***************************\n")) ); - 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_SETTINGS(&aSettings); - 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.iEAPType != EAPSettings::EEapAka) + if (aSettings.iEAPExpandedType != (*EapExpandedTypeAka.GetType())) { User::Leave(KErrNotSupported); } @@ -401,9 +344,17 @@ RDbView view; - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQLQuery, &KAkaTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -420,90 +371,98 @@ CDbColSet* colSet = view.ColSetL(); CleanupStack::PushL(colSet); - // Manual username - //if (aSettings.iUsernamePresent) // no need to check as there may be empty usernames with the present status is EFlase. + + if (aSettings.iUseAutomaticUsernamePresent) { - // 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.iUsernamePresent) + if (aSettings.iUseAutomaticUsername) { - useManualUsernameStatus = EAKAUseManualUsernameYes; + useManualUsernameStatus = EEapDbFalse; } else { - useManualUsernameStatus = EAKAUseManualUsernameNo; + useManualUsernameStatus = EEapDbTrue; } // 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() > KMaxManualRealmLengthInDB) + if(aSettings.iRealm.Length() > KMaxRealmLengthInDB) { // Realm too long. Can not be stored in DB. - EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::SetConfigurationL: Too long Realm. Length=%d \n"), - aSettings.iRealm.Length())); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: 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), EAKAUsePseudonymIdYes); + view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), EEapDbTrue); } else { // Don't use pseudonym. - view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), EAKAUsePseudonymIdNo); + view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), EEapDbFalse); } } 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), EAKAUsePseudonymIdNotValid); + view.SetColL(colSet->ColNo(cf_str_EAP_AKA_use_pseudonym_identity_literal), EEapDbNotValid); } // Session validity time @@ -525,14 +484,18 @@ view.SetColL(colSet->ColNo(KAKALastFullAuthTime), default_FullAuthTime); - EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n"), - aSettings.iEAPType )); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::SetConfigurationL(): Session Validity: Resetting Full Auth Time since settings are modified\n"))); } view.PutL(); - CleanupStack::PopAndDestroy(3); // view, colset, buf + + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); } +// ---------------------------------------------------------- + void EapAkaDbUtils::GetConfigurationL( RDbNamedDatabase& aDatabase, EAPSettings& aSettings, @@ -540,15 +503,14 @@ const TInt aIndex, const eap_type_value_e aTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES - - TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + 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())); -#else - - TUint aTunnelingVendorType = static_cast(aTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapAkaDbUtils::GetConfigurationL()\n")); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); @@ -556,9 +518,17 @@ RDbView view; // Form the query - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQLQuery, &KAkaTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -575,70 +545,100 @@ CDbColSet* colSet = view.ColSetL(); CleanupStack::PushL(colSet); - 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.iEAPExpandedType = *EapExpandedTypeAka.GetType(); + { - aSettings.iUsernamePresent = EFalse; - } - else - { - aSettings.iUsernamePresent = ETrue; + // 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.iUseAutomaticUsername = 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) + // 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.iUsePseudonyms = EFalse; + aSettings.iUseAutomaticRealm = EFalse; } else { - aSettings.iUsePseudonyms = ETrue; + aSettings.iUseAutomaticRealm = 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)); - aSettings.iUsePseudonymsPresent = ETrue; + 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; } - // 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 + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); + + EAP_TRACE_SETTINGS(&aSettings); } +// ---------------------------------------------------------- + void EapAkaDbUtils::CopySettingsL( RDbNamedDatabase& aDatabase, const TIndexType aSrcIndexType, @@ -648,25 +648,37 @@ const TInt aDestIndex, const eap_type_value_e aDestTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES - - TUint aSrcTunnelingVendorType = aSrcTunnelingType.get_vendor_type(); - TUint aDestTunnelingVendorType = aDestTunnelingType.get_vendor_type(); + 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())); -#else - - TUint aSrcTunnelingVendorType = static_cast(aSrcTunnelingType); - TUint aDestTunnelingVendorType = static_cast(aDestTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapAkaDbUtils::CopySettingsL()\n")); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQL, &KAkaTableName, - &KServiceType, aSrcIndexType, &KServiceIndex, aSrcIndex, &KTunnelingType, aSrcTunnelingVendorType); + sqlStatement.Format(KSQL, + &KAkaTableName, + &KServiceType, + aSrcIndexType, + &KServiceIndex, + aSrcIndex, + &KTunnelingTypeVendorId, + aSrcTunnelingType.get_vendor_id(), + &KTunnelingType, + aSrcTunnelingType.get_vendor_type()); RDbView view; @@ -697,112 +709,107 @@ CleanupStack::PushL(colSet); view.SetColL(colSet->ColNo(KServiceType), static_cast(aDestIndexType)); - view.SetColL(colSet->ColNo(KServiceIndex), aDestIndex); - - view.SetColL(colSet->ColNo(KTunnelingType), static_cast(aDestTunnelingVendorType)); + view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aDestTunnelingType.get_vendor_id()); + view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingType.get_vendor_type()); view.PutL(); - CleanupStack::PopAndDestroy(3); // view, colset, buf + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); } +// ---------------------------------------------------------- + void EapAkaDbUtils::DeleteConfigurationL( const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES - - TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + 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())); -#else + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapAkaDbUtils::DeleteConfigurationL()\n")); - TUint aTunnelingVendorType = static_cast(aTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + RDbNamedDatabase aDatabase; + RFs aFileServerSession; - RDbs session; - RDbNamedDatabase database; - // Connect to the DBMS server. - User::LeaveIfError(session.Connect()); - CleanupClosePushL(session); - -#ifdef SYMBIAN_SECURE_DBMS + TInt error(KErrNone); + TFileName aPrivateDatabasePathName; - // 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) + 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) { // Database was created so it was empty. No need for further actions. - database.Destroy(); - CleanupStack::PopAndDestroy(); + aDatabase.Destroy(); + CleanupStack::PopAndDestroy(&aDatabase); + CleanupStack::PopAndDestroy(&aFileServerSession); return; - - } - else if (err != KErrAlreadyExists) + } + else if (error != KErrAlreadyExists) { - User::LeaveIfError(err); + User::LeaveIfError(error); } - // 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(): - calls aDatabase.Open()\n"))); + + error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); - 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 + EAP_TRACE_DEBUG_SYMBIAN((_L("EapAkaDbUtils::DeleteConfigurationL(): - Opened private DB for EAP-AKA. error=%d\n"), error)); + + User::LeaveIfError(error); 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"); - sqlStatement.Format(KSQL, &KAkaTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); + // Evaluate view RDbView view; - User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); // Delete rows if (view.FirstL()) - { + { do { view.DeleteL(); } while (view.NextL() != EFalse); } - // Close database - CleanupStack::PopAndDestroy(4); // view, buf, database, session + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(&aDatabase); + CleanupStack::PopAndDestroy(&aFileServerSession); } +// ---------------------------------------------------------- + // End of file diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaProxy.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,13 +16,13 @@ */ /* -* %version: 13 % +* %version: 10.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 606 + #define EAP_FILE_NUMBER_ENUM 733 #undef EAP_FILE_NUMBER_DATE #define EAP_FILE_NUMBER_DATE 1127594498 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiAkaData.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiAkaData.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +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 % -*/ - -// 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiConnection.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiConnection.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,130 +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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiDataConnection.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/aka/symbian/plugin/src/EapAkaUiDataConnection.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,276 +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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/inc/EapGeneric.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/inc/EapGeneric.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,231 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/src/EapGeneric.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/src/EapGeneric.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,1179 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/src/EapGenericProxy.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/generic/symbian/plugin/src/EapGenericProxy.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,51 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/EapSimInterface.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/EapSimInterface.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/EapSimInterface.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 15.1.5 % +* %version: 16 % */ // This is enumeration of EAPOL source code. @@ -85,11 +85,15 @@ if(IsActive()) { - Cancel(); + Cancel(); } - DisconnectMMETel(); - + 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(); + delete iAuthenticationData; iAuthenticationData = NULL; @@ -165,18 +169,13 @@ void CEapSimIsaInterface::DoCancel() { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapSimIsaInterface::DoCancel(): iQueryId=%d\n"), - iQueryId) ); + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapSimIsaInterface::DoCancel() - Cancelling MMETEL query.\n") ) ); 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") ) ); } } @@ -209,9 +208,7 @@ 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); @@ -231,9 +228,7 @@ 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; @@ -249,8 +244,6 @@ 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"), @@ -260,8 +253,9 @@ delete iAuthenticationData; iAuthenticationData = NULL; - DisconnectMMETel(); - + // Close the custom API since we don't need it any more. + iCustomAPI.Close(); + // Complete TRAP(error, iParent->complete_SIM_kc_and_sres_L(iEAPSim.iKC, iEAPSim.iSRES, completion_status)); @@ -274,9 +268,9 @@ if( EQuerySRESandKC == iQueryId ) { - iQueryId = EQueryNone; - - DisconnectMMETel(); + // We have to close the custom API anyway. + // Rest will be taken care in destructor. + iCustomAPI.Close(); // Handle duplicate RAND values. // If duplicate RAND values are being used, we get KErrArgument here. @@ -297,19 +291,13 @@ { 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); @@ -374,30 +362,4 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/eap_am_type_gsmsim_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 50 % +* %version: 47.1.10 % */ // This is enumeration of EAPOL source code. @@ -39,7 +39,7 @@ #include "EapSimDbDefaults.h" #include "EapSimDbParameterNames.h" #include "EapSimDbUtils.h" -#include "eap_am_trace_symbian.h" +#include "EapTraceSymbian.h" #include // For DBMS #include // For RReadStream @@ -108,16 +108,6 @@ { 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) { @@ -141,6 +131,10 @@ 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); @@ -290,9 +284,22 @@ 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"); - sqlStatement.Format(KSQLInsert, &KXKey, &KK_aut, &KK_encr, &KReauthCounter, &KSimTableName, - &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); + _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()); // Evaluate view RDbView view; @@ -354,7 +361,7 @@ //-------------------------------------------------- -eap_status_e eap_am_type_gsmsim_symbian_c::authentication_finished( +EAP_FUNC_EXPORT 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) @@ -427,9 +434,22 @@ 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"); - sqlStatement.Format(KSQLQuery, &KXKey, &KK_aut, &KK_encr, &KReauthCounter, &KSimTableName, - &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); + _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()); RDbView view; // Evaluate view @@ -533,9 +553,19 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _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); + _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()); // Evaluate view RDbView view; @@ -633,7 +663,7 @@ { eap_variable_data_c simulator_sim_algorithm(m_am_tools); - eap_status_e status = m_partner->read_configure( + eap_status_e status = type_configure_read( cf_str_EAP_GSMSIM_simulator_sim_algorithm.get_field(), &simulator_sim_algorithm); if (status == eap_status_ok @@ -670,7 +700,7 @@ } { - eap_status_e status = m_partner->read_configure( + eap_status_e status = type_configure_read( cf_str_EAP_GSMSIM_simulator_sim_ki.get_field(), &m_simulator_sim_ki); if (status == eap_status_ok @@ -719,7 +749,7 @@ // Read Maximum Session Validity Time from the config file eap_variable_data_c sessionTimeFromFile(m_am_tools); - eap_status_e status = m_partner->read_configure( + eap_status_e status = type_configure_read( cf_str_EAP_GSMSIM_max_session_validity_time.get_field(), &sessionTimeFromFile); @@ -904,9 +934,19 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _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); + _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()); // Evaluate view RDbView view; @@ -1001,9 +1041,19 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _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); + _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()); // Evaluate view RDbView view; @@ -1093,9 +1143,20 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _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); + _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()); + // Evaluate view RDbView view; @@ -1217,11 +1278,22 @@ // Query all the relevant parameters - _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); + _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()); RDbView view; // Evaluate view @@ -1576,7 +1648,7 @@ //-------------------------------------------------- // -eap_status_e eap_am_type_gsmsim_symbian_c::cancel_SIM_IMSI_or_pseudonym_or_reauthentication_id_query() +EAP_FUNC_EXPORT 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__) @@ -1940,7 +2012,7 @@ //------------------------------------------------- // -eap_status_e eap_am_type_gsmsim_symbian_c::cancel_SIM_kc_sres_query() +EAP_FUNC_EXPORT eap_status_e eap_am_type_gsmsim_symbian_c::cancel_SIM_kc_sres_query() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -2074,9 +2146,19 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _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); + _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()); RDbView view; User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); @@ -2461,7 +2543,7 @@ //-------------------------------------------------- // -eap_status_e eap_am_type_gsmsim_symbian_c::cancel_imsi_from_username_query() +EAP_FUNC_EXPORT 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); @@ -2628,11 +2710,20 @@ 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"); - 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); + _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()); RDbView view; // Evaluate view @@ -2750,10 +2841,19 @@ TPtr sqlStatement = buf->Des(); // Query all the relevant parameters - _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); + _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()); RDbView view; // Evaluate view diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/eap_am_type_gsmsim_symbian_simulator.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSim.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,14 +16,14 @@ */ /* -* %version: 10.1.2 % +* %version: 19 % */ #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 CEapType +class CEapSim : public CEapTypePlugin { public: @@ -87,16 +87,13 @@ #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* GetInfoLC(); + CEapTypeInfo* GetInfoL(); /** * Deletes EAP type configuration @@ -118,7 +115,7 @@ * EAP type. * @param aTunnelingType Type number for the tunneling type */ - void SetTunnelingType(const TInt aTunnelingType); + void SetTunnelingType(const TEapExpandedType aTunnelingType); /** * Changes the index of the saved parameters. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbDefaults.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,49 +16,24 @@ */ /* -* %version: 18 % +* %version: % */ #if !defined(_EAPSIMDBDEFAULTS_H_) #define _EAPSIMDBDEFAULTS_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. -}; +#include "EapPluginDbDefaults.h" // LOCAL CONSTANTS -const TInt default_EAP_GSMSIM_use_manual_realm = EGSMSIMUseManualRealmNo; -_LIT(default_EAP_GSMSIM_manual_realm, ""); +const TInt default_EAP_GSMSIM_use_manual_realm = EEapDbFalse; -const TInt default_EAP_GSMSIM_use_manual_username = EGSMSIMUseManualUsernameNo; -_LIT(default_EAP_GSMSIM_manual_username, ""); +const TInt default_EAP_GSMSIM_use_manual_username = EEapDbFalse; -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 TInt default_EAP_GSMSIM_use_pseudonym_identity = EEapDbTrue; // Default is, use pseudonym identity. 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbParameterNames.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12.1.2 % +* %version: % */ #if !defined(_EAPSIMDBPARAMETERNAMES_H_) @@ -28,6 +28,7 @@ _LIT(KServiceType, "ServiceType"); _LIT(KServiceIndex, "ServiceIndex"); +_LIT(KTunnelingTypeVendorId, "TunnelingTypeVendorId"); _LIT(KTunnelingType, "TunnelingType"); _LIT(KPseudonymId, "PseudonymId"); _LIT(KXKey, "XKEY"); diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimDbUtils.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: 8.1.7 % */ #ifndef _EAPSIMDBUTILS_H_ @@ -29,21 +29,10 @@ // LOCAL CONSTANTS -#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"); +// 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. -_LIT(KSecureUIDFormat, "SECURE[102072e9]"); // For the security policy. - -#else - -_LIT(KDatabaseName, "c:\\system\\data\\eapsim.dat"); - -#endif //#ifdef SYMBIAN_SECURE_DBMS +_LIT(KEapSimDatabaseName, "eapsim.dat"); _LIT(KSimTableName, "eapsim"); @@ -54,8 +43,8 @@ public: static void OpenDatabaseL( - RDbNamedDatabase& aDatabase, - RDbs& aSession, + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); @@ -99,7 +88,6 @@ const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); - }; #endif // _EAPSIMDBUTILS_H_ diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/inc/EapSimGlobal.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #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, "20040829:"); +_LIT(KReleaseDate, ""); _LIT(KEapTypeVersion, "1.0"); -_LIT(KManufacturer, "Nokia"); +_LIT(KManufacturer, ""); _LIT(KNokiaSignature, ""); // Not used _LIT(KExtraInfo1, ""); // Not used _LIT(KExtraInfo2, ""); // Not used diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/inc/EapSimSimulatorConfig.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,6 +16,6 @@ */ /* -* %version: 7 % +* %version: % */ diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/inc/EapSimSimulatorPlugin.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,14 +16,14 @@ */ /* -* %version: 9 % +* %version: 7.1.2 % */ #ifndef _EAPSIMPLUGIN_H_ #define _EAPSIMPLUGIN_H_ #include "EapPluginInterface.h" -#include +#include const TUint KVersion = 1; diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/26666669.rss Tue Aug 31 15:16:37 2010 +0300 @@ -16,10 +16,10 @@ */ /* -* %version: 5 % +* %version: 3.1.2 % */ -#include +#include RESOURCE REGISTRY_INFO theInfo { dll_uid = 0x26666669; diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorConfig.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorPlugin.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/simulator/src/EapSimSimulatorProxy.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/101f8e49.rss Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 9 % +* %version: 6.1.3 % */ // INCLUDES diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSim.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 16.1.2 % +* %version: 26 % */ // This is enumeration of EAPOL source code. @@ -38,10 +38,9 @@ #include #include "EapSimDbUtils.h" -#include -#include "EapSimUi.h" - +#include "EapConversion.h" #include "eap_am_tools_symbian.h" +#include "EapTraceSymbian.h" // LOCAL CONSTANTS @@ -137,35 +136,14 @@ } // ---------------------------------------------------------- -TInt CEapSim::InvokeUiL() -{ - TInt buttonId(0); - -#ifdef USE_EAP_EXPANDED_TYPES - 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* CEapSim::GetInfoL() { CEapTypeInfo* info = new(ELeave) CEapTypeInfo( (TDesC&)KReleaseDate, (TDesC&)KEapTypeVersion, (TDesC&)KManufacturer); - CleanupStack::PushL(info); return info; } @@ -185,18 +163,21 @@ // ---------------------------------------------------------- -void CEapSim::SetTunnelingType(const TInt aTunnelingType) +void CEapSim::SetTunnelingType(const TEapExpandedType aTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES + +EAP_TRACE_DATA_DEBUG_SYMBIAN( + (EAPL("CEapSim::SetTunnelingType - tunneling type"), + aTunnelingType.GetValue().Ptr(), aTunnelingType.GetValue().Length())); - // Vendor id is eap_type_vendor_id_ietf always in this plugin. - iTunnelingType.set_eap_type_values(eap_type_vendor_id_ietf, aTunnelingType); +eap_type_value_e aInternalType; -#else +TInt err = CEapConversion::ConvertExpandedEAPTypeToInternalType( + &aTunnelingType, + &aInternalType); - iTunnelingType = static_cast(aTunnelingType); +iTunnelingType = aInternalType; -#endif //#ifdef USE_EAP_EXPANDED_TYPES } @@ -222,13 +203,16 @@ RDbNamedDatabase db; - RDbs session; - - EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); + RFs session; 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, @@ -241,20 +225,27 @@ iIndexType = aIndexType; iIndex = aIndex; - CleanupStack::PopAndDestroy(2); // db + db.Close(); + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&session); } void CEapSim::SetConfigurationL(const EAPSettings& aSettings) { RDbNamedDatabase db; - RDbs session; - - // This also creates the IAP entry if it doesn't exist - EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); + RFs session; 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, @@ -263,20 +254,27 @@ iIndex, iTunnelingType); - CleanupStack::PopAndDestroy(2); // db, session + db.Close(); + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&session); } void CEapSim::GetConfigurationL(EAPSettings& aSettings) { RDbNamedDatabase db; - RDbs session; - - // This also creates the IAP entry if it doesn't exist - EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); + RFs session; 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, @@ -285,7 +283,11 @@ iIndex, iTunnelingType); - CleanupStack::PopAndDestroy(2); // db, session + db.Close(); + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&session); } void CEapSim::CopySettingsL( @@ -309,13 +311,16 @@ RDbNamedDatabase db; - RDbs session; - - EapSimDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); + RFs session; 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, @@ -325,7 +330,11 @@ aDestinationIndex, iTunnelingType); - CleanupStack::PopAndDestroy(2); // db + db.Close(); + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&session); } diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimDbUtils.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 31.1.2 % +* %version: 57 % */ // This is enumeration of EAPOL source code. @@ -33,161 +33,149 @@ #include "EapSimDbDefaults.h" #include "EapSimDbParameterNames.h" -#include "eap_am_trace_symbian.h" +#include +#include "EapPluginTools.h" const TInt KMaxSqlQueryLength = 2048; const TInt KMicroSecsInAMinute = 60000000; // 60000000 micro seconds is 1 minute. // ================= MEMBER FUNCTIONS ======================= -void EapSimDbUtils::OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession, const TIndexType aIndexType, - const TInt aIndex, const eap_type_value_e aTunnelingType) +void EapSimDbUtils::OpenDatabaseL( + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, + const TIndexType aIndexType, + const TInt aIndex, + const eap_type_value_e aTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES - - TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + 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())); -#else - - 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) ); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSimDbUtils::OpenDatabaseL()\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 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)); + TInt error(KErrNone); + TFileName aPrivateDatabasePathName; - - if(err == KErrNone) + EapPluginTools::CreateDatabaseLC( + aDatabase, + aFileServerSession, + error, + KEapSimDatabaseName, + aPrivateDatabasePathName); + + if(error == KErrNone) { aDatabase.Close(); - - } else if (err != KErrAlreadyExists) + } + else if (error != KErrAlreadyExists) { - User::LeaveIfError(err); + 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 + 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); // 2. Create the eapsim table to database (ignore error if exists) -// 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 |// -////////////////////////////////////////////////////////////////////////////////////////////////// + // 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 |// + ////////////////////////////////////////////////////////////////////////////////////////////////// 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 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 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, - &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); + 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); - err = aDatabase.Execute(sqlStatement); - if (err != KErrNone && err != KErrAlreadyExists) + error = aDatabase.Execute(sqlStatement); + if (error != KErrNone && error != KErrAlreadyExists) { - User::Leave(err); + User::Leave(error); } // 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"); - sqlStatement.Format(KSQLQueryRow, &cf_str_EAP_GSMSIM_manual_realm_literal, &KSimTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); - + _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()); + RDbView view; User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); // View must be closed when no longer needed @@ -214,13 +202,14 @@ view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); + 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_GSMSIM_use_manual_realm_literal), default_EAP_GSMSIM_use_manual_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_manual_realm_literal), default_EAP_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_GSMSIM_manual_username); + view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_manual_username_literal), default_EAP_username); view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), default_EAP_GSMSIM_use_pseudonym_identity); @@ -230,18 +219,20 @@ view.PutL(); - CleanupStack::PopAndDestroy( colSet ); // Delete colSet. + CleanupStack::PopAndDestroy( colSet ); - CleanupStack::PopAndDestroy( &view ); // Close view. + CleanupStack::PopAndDestroy( &view ); } - CleanupStack::PopAndDestroy( buf ); // Delete buf + aDatabase.Compact(); + + CleanupStack::PopAndDestroy( buf ); CleanupStack::Pop( &aDatabase ); - CleanupStack::Pop( &aSession ); - - aDatabase.Compact(); + CleanupStack::Pop( &aFileServerSession ); } +// ---------------------------------------------------------- + void EapSimDbUtils::SetIndexL( RDbNamedDatabase& aDatabase, const TIndexType aIndexType, @@ -251,25 +242,37 @@ 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(); + 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())); -#else - - TUint aTunnelingVendorType = static_cast(aTunnelingType); - TUint aNewTunnelingVendorType = static_cast(aNewTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSimDbUtils::SetIndexL()\n")); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + _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, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQL, + &KSimTableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); RDbView view; @@ -298,16 +301,19 @@ view.UpdateL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aNewIndexType)); - view.SetColL(colSet->ColNo(KServiceIndex), aNewIndex); - - view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingVendorType); + view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aNewTunnelingType.get_vendor_id()); + view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingType.get_vendor_type()); view.PutL(); - CleanupStack::PopAndDestroy(3); // view, colset, buf + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); } +// ---------------------------------------------------------- + void EapSimDbUtils::SetConfigurationL( RDbNamedDatabase& aDatabase, const EAPSettings& aSettings, @@ -315,80 +321,23 @@ 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("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_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())); - 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_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, 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_SETTINGS(&aSettings); - 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.iEAPType != EAPSettings::EEapSim) + if (aSettings.iEAPExpandedType != (*EapExpandedTypeSim.GetType())) { User::Leave(KErrNotSupported); } @@ -398,9 +347,18 @@ RDbView view; - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQLQuery, &KSimTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -417,11 +375,50 @@ 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() > KMaxManualUsernameLengthInDB) + if(aSettings.iUsername.Length() > KMaxUsernameLengthInDB) { // Username too long. Can not be stored in DB. @@ -433,28 +430,13 @@ // 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() > KMaxManualRealmLengthInDB) + if(aSettings.iRealm.Length() > KMaxRealmLengthInDB) { // Realm too long. Can not be stored in DB. @@ -466,21 +448,6 @@ // 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 @@ -489,20 +456,20 @@ if (aSettings.iUsePseudonyms) { // Use pseudonym. - view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), EGSMSIMUsePseudonymIdYes); + view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), EEapDbTrue); } else { // Don't use pseudonym. - view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), EGSMSIMUsePseudonymIdNo); + view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), EEapDbFalse); } } 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), EGSMSIMUsePseudonymIdNotValid); + view.SetColL(colSet->ColNo(cf_str_EAP_GSMSIM_use_pseudonym_identity_literal), EEapDbNotValid); } - + // Session validity time if (aSettings.iSessionValidityTimePresent) { @@ -513,23 +480,27 @@ 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("Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n"), - aSettings.iEAPType )); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::SetConfigurationL(): Session Validity: Resetting Full Auth Time since settings are modified\n"))); } - + view.PutL(); - CleanupStack::PopAndDestroy(3); // view, colset, buf + + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); } +// ---------------------------------------------------------- + void EapSimDbUtils::GetConfigurationL( RDbNamedDatabase& aDatabase, EAPSettings& aSettings, @@ -537,15 +508,14 @@ const TInt aIndex, const eap_type_value_e aTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES - - TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + 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())); -#else - - TUint aTunnelingVendorType = static_cast(aTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSimDbUtils::GetConfigurationL()\n")); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); @@ -553,9 +523,18 @@ RDbView view; // Form the query - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQLQuery, &KSimTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -572,70 +551,100 @@ CDbColSet* colSet = view.ColSetL(); CleanupStack::PushL(colSet); - 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.iEAPExpandedType = *EapExpandedTypeSim.GetType(); + { - aSettings.iUsernamePresent = EFalse; - } - else - { - aSettings.iUsernamePresent = ETrue; + // 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.iUseAutomaticUsername = 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) + // 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.iUsePseudonyms = EFalse; + aSettings.iUseAutomaticRealm = EFalse; } else { - aSettings.iUsePseudonyms = ETrue; + 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)); - 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 + 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_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); } +// ---------------------------------------------------------- + void EapSimDbUtils::CopySettingsL( RDbNamedDatabase& aDatabase, const TIndexType aSrcIndexType, @@ -645,25 +654,37 @@ const TInt aDestIndex, const eap_type_value_e aDestTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES - - TUint aSrcTunnelingVendorType = aSrcTunnelingType.get_vendor_type(); - TUint aDestTunnelingVendorType = aDestTunnelingType.get_vendor_type(); + 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())); -#else - - TUint aSrcTunnelingVendorType = static_cast(aSrcTunnelingType); - TUint aDestTunnelingVendorType = static_cast(aDestTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSimDbUtils::CopySettingsL()\n")); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQL, &KSimTableName, - &KServiceType, aSrcIndexType, &KServiceIndex, aSrcIndex, &KTunnelingType, aSrcTunnelingVendorType); + sqlStatement.Format(KSQL, + &KSimTableName, + &KServiceType, + aSrcIndexType, + &KServiceIndex, + aSrcIndex, + &KTunnelingTypeVendorId, + aSrcTunnelingType.get_vendor_id(), + &KTunnelingType, + aSrcTunnelingType.get_vendor_type()); RDbView view; @@ -694,112 +715,122 @@ CleanupStack::PushL(colSet); view.SetColL(colSet->ColNo(KServiceType), static_cast(aDestIndexType)); - view.SetColL(colSet->ColNo(KServiceIndex), aDestIndex); - - view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingVendorType); + view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aDestTunnelingType.get_vendor_id()); + view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingType.get_vendor_type()); view.PutL(); - CleanupStack::PopAndDestroy(3); // view, colset, buf + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); } +// ---------------------------------------------------------- + void EapSimDbUtils::DeleteConfigurationL( const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES - - TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + 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())); -#else + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSimDbUtils::DeleteConfigurationL()\n")); - TUint aTunnelingVendorType = static_cast(aTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + RDbNamedDatabase aDatabase; + RFs aFileServerSession; - RDbs session; - RDbNamedDatabase database; - // Connect to the DBMS server. - User::LeaveIfError(session.Connect()); - CleanupClosePushL(session); - -#ifdef SYMBIAN_SECURE_DBMS + TInt error(KErrNone); + TFileName aPrivateDatabasePathName; - // 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) + 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) { // Database was created so it was empty. No need for further actions. - database.Destroy(); - CleanupStack::PopAndDestroy(); + aDatabase.Destroy(); + CleanupStack::PopAndDestroy(&aDatabase); + CleanupStack::PopAndDestroy(&aFileServerSession); return; - - } - else if (err != KErrAlreadyExists) + } + else if (error != KErrAlreadyExists) { - User::LeaveIfError(err); + User::LeaveIfError(error); } - // 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); + error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); - 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 + User::LeaveIfError(error); 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"); - sqlStatement.Format(KSQL, &KSimTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); + // Evaluate view RDbView view; - User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + + error = view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited); + + User::LeaveIfError(error); + CleanupClosePushL(view); - User::LeaveIfError(view.EvaluateAll()); + + error = view.EvaluateAll(); + + User::LeaveIfError(error); // Delete rows if (view.FirstL()) { - do { + do + { + EAP_TRACE_DEBUG_SYMBIAN((_L("EapSimDbUtils::DeleteConfigurationL(): calls view.DeleteL()\n"))); + view.DeleteL(); - } while (view.NextL() != EFalse); + } + 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"))); } - // Close database - CleanupStack::PopAndDestroy(4); // view, buf, database, session + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(&aDatabase); + CleanupStack::PopAndDestroy(&aFileServerSession); } +// ---------------------------------------------------------- + // End of file diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimProxy.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: 9.1.2 % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiConnection.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiConnection.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,131 +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.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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiDataConnection.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiDataConnection.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,277 +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.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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiSimData.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/gsmsim/symbian/plugin/src/EapSimUiSimData.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +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 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/eap_am_type_mschapv2_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 33 % +* %version: 34 % */ // This is enumeration of EAPOL source code. @@ -42,7 +42,7 @@ #include "EapMsChapV2NotifierUids.h" #include "eap_state_notification.h" -#include "eap_am_trace_symbian.h" +#include "EapTraceSymbian.h" const TUint KMaxSqlQueryLength = 256; const TUint KMaxDBFieldNameLength = 255; @@ -70,6 +70,12 @@ 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); } @@ -85,36 +91,9 @@ (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( @@ -156,21 +135,14 @@ , 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) { @@ -229,11 +201,15 @@ { // 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) TEapMsChapV2UsernamePasswordInfo; - m_username_password_io_pckg_ptr = new(ELeave) TPckg (*m_username_password_io_ptr); + m_username_password_io_ptr = new(ELeave) CEapAuthNotifier::TEapDialogInfo; + m_username_password_io_pckg_ptr = new(ELeave) TPckg (*m_username_password_io_ptr); CActiveScheduler::Add(this); @@ -289,6 +265,227 @@ } //-------------------------------------------------- +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() { @@ -301,221 +498,6 @@ 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); } @@ -524,28 +506,13 @@ void eap_am_type_mschapv2_symbian_c::DoCancel() { - 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); + if (iEapAuthNotifier != 0) + { + iEapAuthNotifier->Cancel(); + } - 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; + } -} //-------------------------------------------------- @@ -604,16 +571,19 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _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); + _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()); RDbView view; User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); @@ -711,7 +681,7 @@ //-------------------------------------------------- -eap_status_e eap_am_type_mschapv2_symbian_c::update_username_password() +EAP_FUNC_EXPORT 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); @@ -750,18 +720,21 @@ 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"); - 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); + _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()); RDbView view; User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), RDbView::EUpdatable)); @@ -821,7 +794,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), EMSCHAPV2PasswordPromptOn); + view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EEapDbTrue); view.SetColNullL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal)); } else @@ -853,7 +826,7 @@ User::Leave(KErrArgument); } - view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EMSCHAPV2PasswordPromptOff); + view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EEapDbFalse); // Length is ok. Set the value in DB. view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal), password); @@ -878,7 +851,7 @@ // Read Maximum Session Validity Time from the config file eap_variable_data_c sessionTimeFromFile(m_am_tools); - eap_status_e status = m_partner->read_configure( + eap_status_e status = type_configure_read( cf_str_EAP_MSCHAPv2_max_session_validity_time.get_field(), &sessionTimeFromFile); @@ -916,99 +889,97 @@ 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 (!IsActive()) + if (*m_password_prompt_enabled == true) + { + m_username_password_io_ptr->iPasswordPromptEnabled = ETrue; + } + else { - if (*m_password_prompt_enabled == true) - { - m_username_password_io_ptr->iPasswordPromptEnabled = ETrue; - } - else - { - m_username_password_io_ptr->iPasswordPromptEnabled = EFalse; - } + 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); - 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); - } + 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); + } - 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; - - 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. - } + 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.StartNotifierAndGetResponse()\n"))); - m_notifier.StartNotifierAndGetResponse( - iStatus, - KEapMsChapV2UsernamePasswordUid, - *m_username_password_io_pckg_ptr, - *m_username_password_io_pckg_ptr); + 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)); - SetActive(); - } + 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; + } + } else { - 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; + DlgComplete( status ); + return status; } return eap_status_pending_request; @@ -1016,6 +987,129 @@ //-------------------------------------------------- +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 */, @@ -1044,68 +1138,8 @@ 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; @@ -1179,13 +1213,29 @@ 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) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + 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); @@ -1228,11 +1278,20 @@ 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"); - 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); + _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()); RDbView view; // Evaluate view @@ -1369,10 +1428,19 @@ TPtr sqlStatement = buf->Des(); // Query all the relevant parameters - _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); + _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()); RDbView view; // Evaluate view diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,14 +16,14 @@ */ /* -* %version: 11.1.2 % +* %version: 19 % */ #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 CEapType +class CEapMsChapV2 : public CEapTypePlugin { public: /** @@ -93,16 +93,13 @@ #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* GetInfoLC(); + CEapTypeInfo* GetInfoL(); /** * Deletes EAP type configuration @@ -124,7 +121,7 @@ * EAP type. * @param aTunnelingType Type number for the tunneling type */ - void SetTunnelingType(const TInt aTunnelingType); + void SetTunnelingType(const TEapExpandedType aTunnelingType); /** * Changes the index of the saved parameters. @@ -159,7 +156,7 @@ * Constructor initialises member variables. */ CEapMsChapV2(const TIndexType aIndexType, const TInt aIndex, - const eap_type_value_e aEapType = eap_type_mschapv2 ); + const eap_type_value_e aEapType ); private: diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbDefaults.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,29 +16,12 @@ */ /* -* %version: 12 % +* %version: % */ #ifndef _EAPMSCHAPV2DBDEFAULTS_H_ #define _EAPMSCHAPV2DBDEFAULTS_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; +#include "EapPluginDbDefaults.h" #endif // _EAPMSCHAPV2DBDEFAULTS_H_ diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbParameterNames.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8.1.2 % +* %version: % */ #ifndef EAPMSCHAPV2DBPARAMETERNAMES_H @@ -28,6 +28,7 @@ _LIT(KServiceType, "ServiceType"); _LIT(KServiceIndex, "ServiceIndex"); +_LIT(KTunnelingTypeVendorId, "TunnelingTypeVendorId"); _LIT(KTunnelingType, "TunnelingType"); _LIT(KMSCHAPv2LastFullAuthTime, "EAP_MSCHAPv2_last_full_authentication_time"); diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2DbUtils.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: 8.1.8 % */ #ifndef _EAPMSCHAPV2DBUTILS_H_ @@ -30,21 +30,10 @@ // LOCAL CONSTANTS -#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"); +// 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. -_LIT(KSecureUIDFormat, "SECURE[102072e9]"); // For the security policy. - -#else - -_LIT(KDatabaseName, "c:\\system\\data\\eapmschapv2.dat"); - -#endif // #ifdef SYMBIAN_SECURE_DBMS +_LIT(KEapMsChapV2DatabaseName, "eapmschapv2.dat"); _LIT(KMsChapV2TableName, "eapmschapv2"); @@ -54,8 +43,8 @@ public: static void OpenDatabaseL( - RDbNamedDatabase& aDatabase, - RDbs& aSession, + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); @@ -99,7 +88,6 @@ const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); - }; #endif // _EAPMSCHAPV2DBUTILS_H_ diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/inc/EapMsChapV2Global.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #ifndef _EAPMSCHAPV2GLOBAL_H_ @@ -24,9 +24,9 @@ // LOCAL CONSTANTS -_LIT(KReleaseDate, "20040829:"); // Must be in format YYYYMMDD: (dates and months start from 0) +_LIT(KReleaseDate, ""); // Must be in format YYYYMMDD: (dates and months start from 0) _LIT(KEapTypeVersion, "1.0"); -_LIT(KManufacturer, "Nokia"); +_LIT(KManufacturer, ""); _LIT(KNokiaSignature, ""); _LIT(KExtraInfo1, ""); _LIT(KExtraInfo2, ""); diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/101F8E66.rss Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 14 % +* %version: 11.1.3 % */ // INCLUDES diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 17.1.3 % +* %version: 31 % */ // This is enumeration of EAPOL source code. @@ -37,8 +37,8 @@ #include #include "EapMsChapV2DbUtils.h" -#include -#include "EapMschapv2Ui.h" +#include "EapConversion.h" +#include "EapTraceSymbian.h" // LOCAL CONSTANTS @@ -49,34 +49,41 @@ // ================= MEMBER FUNCTIONS ======================= -CEapMsChapV2::CEapMsChapV2(const TIndexType aIndexType, - const TInt aIndex, const eap_type_value_e aEapType /* =eap_type_mschapv2 */) +CEapMsChapV2::CEapMsChapV2( + const TIndexType aIndexType, + const TInt aIndex, + const eap_type_value_e aEapType) : 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) { - return new (ELeave) CEapMsChapV2(aIapInfo->indexType, aIapInfo->index); + 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); } // ---------------------------------------------------------- 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) ); } @@ -85,6 +92,9 @@ CEapMsChapV2::~CEapMsChapV2() { + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::~CEapMsChapV2()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::~CEapMsChapV2()\n")); + } // ---------------------------------------------------------- @@ -106,6 +116,9 @@ #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, @@ -153,43 +166,24 @@ TUint CEapMsChapV2::GetInterfaceVersion() { + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::GetInterfaceVersion()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::GetInterfaceVersion()\n")); + return KInterfaceVersion; } - // ---------------------------------------------------------- -TInt CEapMsChapV2::InvokeUiL() -{ - 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); +CEapTypeInfo* CEapMsChapV2::GetInfoL() +{ + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::GetInfoL()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::GetInfoL()\n")); -#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; } @@ -197,30 +191,42 @@ 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 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); +void CEapMsChapV2::SetTunnelingType(const TEapExpandedType aTunnelingType) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapMsChapV2::SetTunnelingType()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapMsChapV2::SetTunnelingType()\n")); -#else - - iTunnelingType = static_cast(aTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES -} + 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; + + } // ---------------------------------------------------------- + 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; @@ -238,13 +244,16 @@ RDbNamedDatabase db; - RDbs session; - - EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); + RFs session; 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, @@ -257,20 +266,30 @@ iIndexType = aIndexType; iIndex = aIndex; - CleanupStack::PopAndDestroy(2); // db + db.Close(); + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&session); } 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; - RDbs session; - - // This also creates the IAP entry if it doesn't exist - EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); + RFs session; 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, @@ -279,20 +298,30 @@ iIndex, iTunnelingType); - CleanupStack::PopAndDestroy(2); // db, session + db.Close(); + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&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; - RDbs session; - - // This also creates the IAP entry if it doesn't exist - EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); + RFs session; 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, @@ -300,14 +329,31 @@ 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); + } - CleanupStack::PopAndDestroy(2); // db, session + db.Close(); + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&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; @@ -325,13 +371,16 @@ RDbNamedDatabase db; - RDbs session; - - EapMsChapV2DbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); + RFs session; 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, @@ -341,7 +390,11 @@ aDestinationIndex, iTunnelingType); - CleanupStack::PopAndDestroy(2); // db + db.Close(); + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&session); } diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2DbUtils.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 21.1.2 % +* %version: 56 % */ // This is enumeration of EAPOL source code. @@ -34,116 +34,96 @@ #include "EapMsChapV2DbDefaults.h" #include "EapMsChapV2DbParameterNames.h" -#include "eap_am_trace_symbian.h" +#include +#include "EapPluginTools.h" const TUint KMaxSqlQueryLength = 512; const TInt KMicroSecsInAMinute = 60000000; // 60000000 micro seconds is 1 minute. // ================= MEMBER FUNCTIONS ======================= -void EapMsChapV2DbUtils::OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession, const TIndexType aIndexType, - const TInt aIndex, const eap_type_value_e aTunnelingType) +void EapMsChapV2DbUtils::OpenDatabaseL( + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, + const TIndexType aIndexType, + const TInt aIndex, + const eap_type_value_e aTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES - - TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + 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())); -#else - - 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) ); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::OpenDatabaseL()\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 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)); + TInt error(KErrNone); + TFileName aPrivateDatabasePathName; - - if(err == KErrNone) + EapPluginTools::CreateDatabaseLC( + aDatabase, + aFileServerSession, + error, + KEapMsChapV2DatabaseName, + aPrivateDatabasePathName); + + if(error == KErrNone) { aDatabase.Close(); - - } else if (err != KErrAlreadyExists) + } + else if (error != KErrAlreadyExists) { - User::LeaveIfError(err); + 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)); + 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); - - 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 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 |// + ////////////////////////////////////////////////////////////////////////////////////////////////// -// 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 |// -////////////////////////////////////////////////////////////////////////////////////////////////// + EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::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 VARCHAR(255), \ - %S BIGINT, \ - %S BIGINT)"); + _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"))); sqlStatement.Format(KSQLCreateTable1, &KMsChapV2TableName, &KServiceType, &KServiceIndex, + &KTunnelingTypeVendorId, &KTunnelingType, &cf_str_EAP_MSCHAPV2_password_prompt_literal, &cf_str_EAP_MSCHAPV2_username_literal, @@ -151,57 +131,100 @@ &cf_str_EAP_MSCHAPv2_max_session_validity_time_literal, &KMSCHAPv2LastFullAuthTime); - err = aDatabase.Execute(sqlStatement); - if (err != KErrNone && err != KErrAlreadyExists) + EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls aDatabase.Execute()\n"))); + + error = aDatabase.Execute(sqlStatement); + if (error != KErrNone && error != KErrAlreadyExists) { - User::Leave(err); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapMsChapV2DbUtils::OpenDatabaseL(): aDatabase.Execute() error=%d\n"), + error)); + + User::Leave(error); } // 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"); + + 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"); sqlStatement.Format(KSQLQueryRow, - &cf_str_EAP_MSCHAPV2_username_literal, - &KMsChapV2TableName, - &KServiceType, - aIndexType, - &KServiceIndex, - aIndex, - &KTunnelingType, - aTunnelingVendorType); - + &cf_str_EAP_MSCHAPV2_username_literal, + &KMsChapV2TableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); + RDbView view; - User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + + 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); // View must be closed when no longer needed CleanupClosePushL(view); - User::LeaveIfError(view.EvaluateAll()); + + 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); // 5. If row is not found then add it + EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): calls view.CountL()\n"))); + TInt rows = view.CountL(); - CleanupStack::PopAndDestroy(); // view + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::OpenDatabaseL(): view.CountL() rows=%d\n"), + rows)); + + CleanupStack::PopAndDestroy(&view); if (rows == 0) { _LIT(KSQLInsert, "SELECT * FROM %S"); sqlStatement.Format(KSQLInsert, &KMsChapV2TableName); - - view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited, RDbView::EInsertOnly); + + 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(KTunnelingType), aTunnelingVendorType); - - view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), default_EAP_MSCHAPV2_password_prompt); + 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_MSCHAPV2_username_literal), default_EAP_MSCHAPV2_username); + view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), default_EAP_password_prompt); - view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_literal), default_EAP_MSCHAPV2_password); + 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_max_session_validity_time_literal), default_MaxSessionTime); @@ -209,16 +232,15 @@ view.PutL(); - CleanupStack::PopAndDestroy( colSet ); // Delete colSet. - - CleanupStack::PopAndDestroy( &view ); // Close view. + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); } - - CleanupStack::PopAndDestroy( buf ); // Delete buf + + aDatabase.Compact(); + + CleanupStack::PopAndDestroy( buf ); CleanupStack::Pop( &aDatabase ); - CleanupStack::Pop( &aSession ); - - aDatabase.Compact(); + CleanupStack::Pop( &aFileServerSession ); } @@ -231,25 +253,37 @@ 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(); + 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())); -#else - - TUint aTunnelingVendorType = static_cast(aTunnelingType); - TUint aNewTunnelingVendorType = static_cast(aNewTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::SetIndexL()\n")); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + _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, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQL, + &KMsChapV2TableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); RDbView view; @@ -279,14 +313,15 @@ view.UpdateL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aNewIndexType)); - view.SetColL(colSet->ColNo(KServiceIndex), aNewIndex); - - view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingVendorType); + view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aNewTunnelingType.get_vendor_id()); + view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingType.get_vendor_type()); view.PutL(); - CleanupStack::PopAndDestroy(3); // view, colset, buf + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); } void EapMsChapV2DbUtils::SetConfigurationL( @@ -296,19 +331,20 @@ const TInt aIndex, const eap_type_value_e aTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES - - TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + 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())); -#else + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::SetConfigurationL()\n")); - TUint aTunnelingVendorType = static_cast(aTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_SETTINGS(&aSettings); // Check if the settings are for the correct type - if (aSettings.iEAPType != EAPSettings::EEapMschapv2 && - aSettings.iEAPType != EAPSettings::EPlainMschapv2) + if (aSettings.iEAPExpandedType != (*EapExpandedTypeMsChapv2.GetType()) + && aSettings.iEAPExpandedType != (*EapExpandedPlainMsChapv2.GetType())) { User::Leave(KErrNotSupported); } @@ -318,9 +354,18 @@ RDbView view; - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQLQuery, &KMsChapV2TableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -345,7 +390,7 @@ { // Username too long. Can not be stored in DB. - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::SetConfigurationL: Too long Username. Length=%d \n"), + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapMsChapV2DbUtils::SetConfigurationL(): Too long Username. Length=%d \n"), aSettings.iUsername.Length())); User::Leave(KErrArgument); @@ -355,6 +400,15 @@ 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) { @@ -363,7 +417,7 @@ { // Password too long. Can not be stored in DB. - EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::SetConfigurationL: Too long Password. Length=%d \n"), + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapMsChapV2DbUtils::SetConfigurationL(): Too long Password. Length=%d \n"), aSettings.iPassword.Length())); User::Leave(KErrArgument); @@ -372,10 +426,21 @@ // 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) { @@ -392,22 +457,23 @@ if( validityInMicro != 0) { - view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EMSCHAPV2PasswordPromptOn); + view.SetColL(colSet->ColNo(cf_str_EAP_MSCHAPV2_password_prompt_literal), EEapDbTrue); } } // 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("Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n"), - aSettings.iEAPType )); - + EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::SetConfigurationL(): Session Validity: Resetting Full Auth Time since settings are modified\n"))); + view.PutL(); - CleanupStack::PopAndDestroy(3); // view, colset, buf + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); } void EapMsChapV2DbUtils::GetConfigurationL( @@ -417,15 +483,14 @@ const TInt aIndex, const eap_type_value_e aTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES - - TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + 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())); -#else - - TUint aTunnelingVendorType = static_cast(aTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::GetConfigurationL()\n")); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); @@ -433,9 +498,18 @@ RDbView view; // Form the query - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQLQuery, &KMsChapV2TableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -452,18 +526,38 @@ CDbColSet* colSet = view.ColSetL(); CleanupStack::PushL(colSet); - aSettings.iEAPType = EAPSettings::EEapMschapv2; + aSettings.iEAPExpandedType = *EapExpandedTypeMsChapv2.GetType(); // 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)); @@ -473,7 +567,11 @@ aSettings.iSessionValidityTime = static_cast(maxSessionTimeMin); aSettings.iSessionValidityTimePresent = ETrue; - CleanupStack::PopAndDestroy(3); // view, colset, buf + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); + + EAP_TRACE_SETTINGS(&aSettings); } void EapMsChapV2DbUtils::CopySettingsL( @@ -485,25 +583,37 @@ const TInt aDestIndex, const eap_type_value_e aDestTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES - - TUint aSrcTunnelingVendorType = aSrcTunnelingType.get_vendor_type(); - TUint aDestTunnelingVendorType = aDestTunnelingType.get_vendor_type(); + 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())); -#else - - TUint aSrcTunnelingVendorType = static_cast(aSrcTunnelingType); - TUint aDestTunnelingVendorType = static_cast(aDestTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::CopySettingsL()\n")); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQL, &KMsChapV2TableName, - &KServiceType, aSrcIndexType, &KServiceIndex, aSrcIndex, &KTunnelingType, aSrcTunnelingVendorType); + sqlStatement.Format(KSQL, + &KMsChapV2TableName, + &KServiceType, + aSrcIndexType, + &KServiceIndex, + aSrcIndex, + &KTunnelingTypeVendorId, + aSrcTunnelingType.get_vendor_id(), + &KTunnelingType, + aSrcTunnelingType.get_vendor_type()); RDbView view; @@ -534,14 +644,15 @@ CleanupStack::PushL(colSet); view.SetColL(colSet->ColNo(KServiceType), static_cast(aDestIndexType)); - view.SetColL(colSet->ColNo(KServiceIndex), aDestIndex); - - view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingVendorType); + view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aDestTunnelingType.get_vendor_id()); + view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingType.get_vendor_type()); view.PutL(); - CleanupStack::PopAndDestroy(3); // view, colset, buf + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); } void EapMsChapV2DbUtils::DeleteConfigurationL( @@ -549,97 +660,88 @@ const TInt aIndex, const eap_type_value_e aTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES - - TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + 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())); -#else + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapMsChapV2DbUtils::DeleteConfigurationL()\n")); - TUint aTunnelingVendorType = static_cast(aTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + RDbNamedDatabase aDatabase; + RFs aFileServerSession; - RDbs session; - RDbNamedDatabase database; - // Connect to the DBMS server. - User::LeaveIfError(session.Connect()); - CleanupClosePushL(session); - -#ifdef SYMBIAN_SECURE_DBMS + TInt error(KErrNone); + TFileName aPrivateDatabasePathName; - // 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) + 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) { // Database was created so it was empty. No need for further actions. - database.Destroy(); - CleanupStack::PopAndDestroy(); + aDatabase.Destroy(); + CleanupStack::PopAndDestroy(&aDatabase); + CleanupStack::PopAndDestroy(&aFileServerSession); return; - - } - else if (err != KErrAlreadyExists) + } + else if (error != KErrAlreadyExists) { - User::LeaveIfError(err); + User::LeaveIfError(error); } - // 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(): - calls aDatabase.Open()\n"))); + + error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); - 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 + EAP_TRACE_DEBUG_SYMBIAN((_L("EapMsChapV2DbUtils::DeleteConfigurationL(): - Opened private DB for EAP-MsChapV2. error=%d\n"), error)); + + User::LeaveIfError(error); 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"); - sqlStatement.Format(KSQL, &KMsChapV2TableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); + // Evaluate view RDbView view; - User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + User::LeaveIfError(view.Prepare(aDatabase,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); // Delete rows if (view.FirstL()) - { + { do { view.DeleteL(); } while (view.NextL() != EFalse); } - // Close database - CleanupStack::PopAndDestroy(4); // view, buf, database, session + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(&aDatabase); + CleanupStack::PopAndDestroy(&aFileServerSession); } // End of File diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2Proxy.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 16 % +* %version: 13.1.5 % */ // This is enumeration of EAPOL source code. @@ -32,6 +32,7 @@ #include "EapMsChapV2.h" #include #include +#include "EapTraceSymbian.h" #include "EapolUID.h" @@ -45,6 +46,9 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiConnection.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiConnection.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,140 +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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiDataConnection.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiDataConnection.cpp Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiMsChapV2Data.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/mschapv2/symbian/plugin/src/EapMsChapV2UiMsChapV2Data.cpp Thu Aug 19 09:58:27 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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/protected_setup/EapProtectedSetupInterface.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/EapProtectedSetupInterface.cpp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/EapProtectedSetupInterface.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: 6.1.2 % */ // This is enumeration of EAPOL source code. @@ -36,7 +36,7 @@ // ================= MEMBER FUNCTIONS ======================= -CEapProtectedSetupInterface::CEapProtectedSetupInterface(abs_eap_am_tools_c* const aTools, eap_am_type_protected_setup_symbian_c* const aParent) +CEapProtectedSetupInterface::CEapProtectedSetupInterface(abs_eap_am_tools_c* const aTools, CEapAmProtectedSetupSymbian* 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, - eap_am_type_protected_setup_symbian_c* const aParent) + CEapAmProtectedSetupSymbian* const aParent) { CEapProtectedSetupInterface* self = new(ELeave) CEapProtectedSetupInterface(aTools, aParent); CleanupStack::PushL(self); diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/eap_am_type_protected_setup_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 18.1.8 % +* %version: 18.1.4.1.12 % */ // This is enumeration of EAPOL source code. @@ -34,7 +34,6 @@ #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" @@ -42,7 +41,7 @@ #include "simple_config_credential.h" #include "abs_eap_configuration_if.h" -#include "eap_am_trace_symbian.h" +#include "EapTraceSymbian.h" #include static const char EAP_AM_TYPE_SIMPLE_CONFIG_MEMORY_STORE_KEY[] = "eap_am_type_simple_config_simulator_c credential_store"; @@ -51,12 +50,12 @@ // -EAP_FUNC_EXPORT eap_am_type_protected_setup_symbian_c::eap_am_type_protected_setup_symbian_c( +EAP_FUNC_EXPORT CEapAmProtectedSetupSymbian::CEapAmProtectedSetupSymbian( 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, @@ -92,7 +91,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("SIMPLE_CONFIG: %s: function: eap_am_type_protected_setup_symbian_c(): this = 0x%08x\n"), + (EAPL("SIMPLE_CONFIG: %s: function: CEapAmProtectedSetupSymbian(): this = 0x%08x\n"), (m_is_client == true ? "client": "server"), this)); @@ -119,7 +118,7 @@ //-------------------------------------------------- -void eap_am_type_protected_setup_symbian_c::ConstructL() +void CEapAmProtectedSetupSymbian::ConstructL() { if (m_is_client == true) { @@ -139,7 +138,7 @@ //-------------------------------------------------- -eap_am_type_protected_setup_symbian_c* eap_am_type_protected_setup_symbian_c::NewL( +EAP_FUNC_EXPORT CEapAmProtectedSetupSymbian* CEapAmProtectedSetupSymbian::NewL( abs_eap_am_tools_c * const tools, abs_eap_base_type_c * const partner, const TIndexType aIndexType, @@ -150,7 +149,7 @@ const eap_am_network_id_c * const receive_network_id, abs_eap_configuration_if_c * const configuration_if) { - eap_am_type_protected_setup_symbian_c* self = new (ELeave) eap_am_type_protected_setup_symbian_c( + CEapAmProtectedSetupSymbian* self = new (ELeave) CEapAmProtectedSetupSymbian( tools, partner, aIndexType, @@ -177,7 +176,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_am_type_protected_setup_symbian_c::~eap_am_type_protected_setup_symbian_c() +EAP_FUNC_EXPORT CEapAmProtectedSetupSymbian::~CEapAmProtectedSetupSymbian() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -185,7 +184,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("SIMPLE_CONFIG: %s: function: ~eap_am_type_protected_setup_symbian_c(): this = 0x%08x\n"), + (EAPL("SIMPLE_CONFIG: %s: function: ~CEapAmProtectedSetupSymbian(): this = 0x%08x\n"), (m_is_client == true ? "client": "server"), this)); @@ -201,7 +200,7 @@ //-------------------------------------------------- -abs_simple_config_am_services_c * eap_am_type_protected_setup_symbian_c::get_simple_config_am_partner() +abs_simple_config_am_services_c * CEapAmProtectedSetupSymbian::get_simple_config_am_partner() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_ASSERT_ALWAYS(m_simple_config_am_partner != 0); @@ -211,7 +210,7 @@ //-------------------------------------------------- -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_FUNC_EXPORT void CEapAmProtectedSetupSymbian::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; @@ -220,7 +219,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT void eap_am_type_protected_setup_symbian_c::set_am_partner(abs_eap_am_type_simple_config_c * const partner) +EAP_FUNC_EXPORT void CEapAmProtectedSetupSymbian::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); @@ -229,13 +228,13 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::configure() +EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::configure() { EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("SIMPLE_CONFIG: %s: function: eap_am_type_protected_setup_symbian_c::configure()\n"), + (EAPL("SIMPLE_CONFIG: %s: function: CEapAmProtectedSetupSymbian::configure()\n"), (m_is_client == true ? "client": "server"))); if (m_configured == true) @@ -243,7 +242,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("SIMPLE_CONFIG: %s: function: eap_am_type_protected_setup_symbian_c::configure(): Already configured.\n"), + (EAPL("SIMPLE_CONFIG: %s: function: CEapAmProtectedSetupSymbian::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); @@ -254,7 +253,7 @@ { eap_variable_data_c use_manual_username(m_am_tools); - eap_status_e status = m_partner->read_configure( + eap_status_e status = type_configure_read( cf_str_EAP_SIMPLE_CONFIG_use_manual_username.get_field(), &use_manual_username); if (status == eap_status_ok @@ -274,7 +273,7 @@ if (m_use_manual_username == true) { - eap_status_e status = m_partner->read_configure( + eap_status_e status = type_configure_read( cf_str_EAP_SIMPLE_CONFIG_manual_username.get_field(), &m_manual_username); if (status == eap_status_ok @@ -326,7 +325,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::reset() +EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::reset() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); m_device_parameters_valid = false; @@ -336,14 +335,14 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::shutdown() +EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::shutdown() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("SIMPLE_CONFIG: %s: function: eap_am_type_protected_setup_symbian_c::shutdown(): ") + (EAPL("SIMPLE_CONFIG: %s: function: CEapAmProtectedSetupSymbian::shutdown(): ") EAPL("this = 0x%08x\n"), (m_is_client == true ? "client": "server"), this)); @@ -387,7 +386,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("EAP_type_SIMPLE_CONFIG: eap_am_type_protected_setup_symbian_c::shutdown():") + (EAPL("EAP_type_SIMPLE_CONFIG: CEapAmProtectedSetupSymbian::shutdown():") EAPL("credentials removed from eapol\n"))); eap_tlv_message_data_c tlv_data(m_am_tools); @@ -417,7 +416,7 @@ //-------------------------------------------------- -void eap_am_type_protected_setup_symbian_c::send_error_notification(const eap_status_e error) +void CEapAmProtectedSetupSymbian::send_error_notification(const eap_status_e error) { { eap_general_state_variable_e general_state_variable(eap_general_state_authentication_error); @@ -448,7 +447,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::authentication_finished( +EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::authentication_finished( const bool true_when_successfull, const bool true_when_session_resumed) { @@ -470,13 +469,13 @@ //-------------------------------------------------- -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, +EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::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); @@ -496,6 +495,12 @@ 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); } @@ -534,7 +539,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::cancel_identity_query() +EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::cancel_identity_query() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -560,7 +565,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT void eap_am_type_protected_setup_symbian_c::set_is_valid() +EAP_FUNC_EXPORT void CEapAmProtectedSetupSymbian::set_is_valid() { m_is_valid = true; } @@ -568,7 +573,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT bool eap_am_type_protected_setup_symbian_c::get_is_valid() +EAP_FUNC_EXPORT bool CEapAmProtectedSetupSymbian::get_is_valid() { return m_is_valid; } @@ -576,7 +581,7 @@ //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::type_configure_read( +EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::type_configure_read( const eap_configuration_field_c * const field, eap_variable_data_c * const data) { @@ -639,7 +644,6 @@ } // if (!wanted_field.compare(&type_field)) - // NOTE: This is for simulation. // Read is routed to partner object. status = m_partner->read_configure( field, @@ -656,18 +660,20 @@ //-------------------------------------------------- // -void eap_am_type_protected_setup_symbian_c::read_device_passwordL( +void CEapAmProtectedSetupSymbian::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; @@ -682,7 +688,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( - EAPL("ERROR: eap_am_type_protected_setup_symbian_c::read_device_passwordL() Connecting to CommsDat failed!\n"))); + EAPL("ERROR: CEapAmProtectedSetupSymbian::read_device_passwordL() Connecting to CommsDat failed!\n"))); User::Leave(KErrCouldNotConnect); } @@ -690,7 +696,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( - EAPL("eap_am_type_protected_setup_symbian_c::read_device_passwordL() Connected to CommDbIf.\n"))); + EAPL("CEapAmProtectedSetupSymbian::read_device_passwordL() Connected to CommDbIf.\n"))); error = wlan_settings->GetWlanSettingsForService(m_index, wlanSettings); if ( error != KErrNone) @@ -698,7 +704,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, ( - EAPL("ERROR: eap_am_type_protected_setup_symbian_c::read_device_passwordL() GetWlanSettingsForService failed, error=%d\n"), + EAPL("ERROR: CEapAmProtectedSetupSymbian::read_device_passwordL() GetWlanSettingsForService failed, error=%d\n"), error)); wlan_settings->Disconnect(); @@ -765,13 +771,15 @@ wlan_settings->Disconnect(); CleanupStack::PopAndDestroy(wlan_settings); +#endif + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } //-------------------------------------------------- // -EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::type_configure_write( +EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::type_configure_write( const eap_configuration_field_c * const field, eap_variable_data_c * const data) { @@ -787,7 +795,7 @@ //-------------------------------------------------- -abs_eap_am_type_simple_config_c * eap_am_type_protected_setup_symbian_c::get_am_partner() +abs_eap_am_type_simple_config_c * CEapAmProtectedSetupSymbian::get_am_partner() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -796,7 +804,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::query_network_and_device_parameters( +EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::query_network_and_device_parameters( const simple_config_state_e state) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -808,7 +816,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("SIMPLE_CONFIG: %s: eap_am_type_protected_setup_symbian_c::query_network_and_device_parameters()\n"), + (EAPL("SIMPLE_CONFIG: %s: CEapAmProtectedSetupSymbian::query_network_and_device_parameters()\n"), (m_is_client == true ? "client": "server"))); eap_status_e status = eap_status_process_general_error; @@ -820,7 +828,7 @@ { EAP_TRACE_DEBUG_SYMBIAN( - (_L("eap_am_type_protected_setup_symbian_c::query_network_and_device_parameters: Parameters exist, completing query immediately."))); + (_L("CEapAmProtectedSetupSymbian::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( @@ -928,7 +936,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_protected_setup_symbian_c::query_network_and_device_parameters() m_Device_Password_ID=%d\n"), + (EAPL("CEapAmProtectedSetupSymbian::query_network_and_device_parameters() m_Device_Password_ID=%d\n"), m_Device_Password_ID)); { @@ -1097,7 +1105,7 @@ //-------------------------------------------------- // This is always synchronous call. -EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::save_simple_config_session( +EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::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, @@ -1200,7 +1208,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::received_registrar_information( +EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::received_registrar_information( EAP_TEMPLATE_CONST eap_array_c * const M2D_payloads) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1281,7 +1289,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::cancel_query_network_and_device_parameters() +EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::cancel_query_network_and_device_parameters() { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1306,7 +1314,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::load_module( +EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::load_module( const eap_type_value_e eap_type, const eap_type_value_e tunneling_type, abs_eap_base_type_c * const partner, @@ -1318,7 +1326,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_protected_setup_symbian_c::load_module(0x%08x)\n"), + (EAPL("CEapAmProtectedSetupSymbian::load_module(0x%08x)\n"), convert_eap_type_to_u32_t(eap_type))); eap_status_e status = m_partner->load_module( @@ -1335,13 +1343,13 @@ //-------------------------------------------------- -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_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::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("eap_am_type_protected_setup_symbian_c::check_is_valid_eap_type(0x%08x)\n"), + (EAPL("CEapAmProtectedSetupSymbian::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( @@ -1353,7 +1361,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::get_eap_type_list( +EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::get_eap_type_list( eap_array_c * const eap_type_list) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -1366,13 +1374,13 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::unload_module(const eap_type_value_e eap_type) +EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::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("eap_am_type_protected_setup_symbian_c::unload_module(0x%08x)\n"), + (EAPL("CEapAmProtectedSetupSymbian::unload_module(0x%08x)\n"), convert_eap_type_to_u32_t(eap_type))); eap_status_e status = m_partner->unload_module( @@ -1384,7 +1392,7 @@ //-------------------------------------------------- -EAP_FUNC_EXPORT eap_status_e eap_am_type_protected_setup_symbian_c::complete_protected_setup_device_paramsL( +EAP_FUNC_EXPORT eap_status_e CEapAmProtectedSetupSymbian::complete_protected_setup_device_paramsL( const RMobilePhone::TMobilePhoneIdentityV1 &phone_identity, const eap_status_e completion_status ) { @@ -1491,7 +1499,7 @@ // since there is nothing better for the purpose. EAP_TRACE_DEBUG_SYMBIAN( - (_L("eap_am_type_protected_setup_symbian_c::complete_protected_setup_device_paramsL: Uses model as device name."))); + (_L("CEapAmProtectedSetupSymbian::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, @@ -1603,23 +1611,23 @@ //-------------------------------------------------- -void eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL(const TDesC16& aFromUnicode, TDes8& aToAscii) +void CEapAmProtectedSetupSymbian::ConvertUnicodeToAsciiL(const TDesC16& aFromUnicode, TDes8& aToAscii) { EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL:From TEXT", + ("CEapAmProtectedSetupSymbian::ConvertUnicodeToAsciiL:From TEXT", aFromUnicode.Ptr(), aFromUnicode.Size())); if(aFromUnicode.Length() <= 0) { EAP_TRACE_DEBUG_SYMBIAN( - (_L("eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL: Return: NOTHING TO CONVERT"))); + (_L("CEapAmProtectedSetupSymbian::ConvertUnicodeToAsciiL: Return: NOTHING TO CONVERT"))); return; } EAP_TRACE_DEBUG_SYMBIAN( - (_L("eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL, aFromUnicode.Length=%d, aFromUnicode.Size=%d"), + (_L("CEapAmProtectedSetupSymbian::ConvertUnicodeToAsciiL, aFromUnicode.Length=%d, aFromUnicode.Size=%d"), aFromUnicode.Length(), aFromUnicode.Size())); // Convert from Unicode to ascii. @@ -1627,7 +1635,7 @@ TPtr8 aFromUnicodePtr8 = aFromUnicodeBuf8->Des(); EAP_TRACE_DEBUG_SYMBIAN( - (_L("eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL, aFromUnicodePtr8.Length=%d, aFromUnicodePtr8.Size=%d, aFromUnicodePtr8.MaxLength=%d, aFromUnicodePtr8.MaxSize=%d"), + (_L("CEapAmProtectedSetupSymbian::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. @@ -1637,7 +1645,7 @@ CleanupStack::PopAndDestroy(aFromUnicodeBuf8); // Delete aFromUnicodeBuf8. EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("eap_am_type_protected_setup_symbian_c::ConvertUnicodeToAsciiL:To ASCII", + ("CEapAmProtectedSetupSymbian::ConvertUnicodeToAsciiL:To ASCII", aToAscii.Ptr(), aToAscii.Size())); } diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/inc/EapProtectedSetup.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,21 +16,21 @@ */ /* -* %version: 4.1.2 % +* %version: 11 % */ #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 CEapType +class CEapProtectedSetup : public CEapTypePlugin { public: @@ -63,16 +63,13 @@ 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* GetInfoLC(); + CEapTypeInfo* GetInfoL(); /** * Deletes EAP type configuration @@ -94,7 +91,7 @@ * EAP type. * @param aTunnelingType Type number for the tunneling type */ - void SetTunnelingType(const TInt aTunnelingType); + void SetTunnelingType(const TEapExpandedType aTunnelingType); /** * Changes the index of the saved parameters. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/inc/EapProtectedSetupGlobal.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 4 % +* %version: % */ #ifndef _EAPPROTECTEDSETUPGLOBAL_H_ diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/2000b003.rss Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: 4.1.2 % */ // INCLUDES diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/EapProtectedSetup.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11.1.2 % +* %version: 19 % */ // This is enumeration of EAPOL source code. @@ -40,9 +40,8 @@ #include #include "eap_am_type_protected_setup_symbian.h" #include "EapProtectedSetupGlobal.h" -#include "eap_am_trace_symbian.h" - -//#include "EapAkaDbUtils.h" +#include "EapTraceSymbian.h" +#include "EapConversion.h" #include "eap_am_tools_symbian.h" @@ -96,7 +95,7 @@ (_L("CEapProtectedSetup::GetStackInterfaceL - Start"))); // Create AM - eap_am_type_protected_setup_symbian_c* amEapType = eap_am_type_protected_setup_symbian_c::NewL( + CEapAmProtectedSetupSymbian* amEapType = CEapAmProtectedSetupSymbian::NewL( aTools, aPartner, iIndexType, @@ -111,7 +110,7 @@ { EAP_TRACE_DEBUG_SYMBIAN( - (_L("ERROR: GetStackInterfaceL : eap_am_type_protected_setup_symbian_c(): failed."))); + (_L("ERROR: GetStackInterfaceL : CEapAmProtectedSetupSymbian(): failed."))); delete amEapType; User::Leave(KErrNoMemory); @@ -183,27 +182,18 @@ } // ---------------------------------------------------------- -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::GetInfoLC() + +CEapTypeInfo* CEapProtectedSetup::GetInfoL() { CEapTypeInfo* info = new(ELeave) CEapTypeInfo( (TDesC&)KReleaseDate, (TDesC&)KEapTypeVersion, (TDesC&)KManufacturer); - CleanupStack::PushL(info); return info; } @@ -223,14 +213,20 @@ // ---------------------------------------------------------- -void CEapProtectedSetup::SetTunnelingType(const TInt aTunnelingType) +void CEapProtectedSetup::SetTunnelingType(const TEapExpandedType aTunnelingType) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapProtectedSetup::SetTunnelingType - tunneling type=%d"), - aTunnelingType)); + EAP_TRACE_DATA_DEBUG_SYMBIAN( + (EAPL("CEapProtectedSetup::SetTunnelingType - tunneling type"), + aTunnelingType.GetValue().Ptr(), aTunnelingType.GetValue().Length())); + + 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); + + iTunnelingType = aInternalType; + } diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/protected_setup/symbian/plugin/src/EapProtectedSetupProxy.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6 % +* %version: 3.1.2 % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/eap_am_type_securid_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 32 % +* %version: 29.1.36 % */ // This is enumeration of EAPOL source code. @@ -39,14 +39,17 @@ #include "eap_am_type_securid_symbian.h" #include "EapSecurIDDbParameterNames.h" #include "EapSecurIDDbUtils.h" -#include "EapSecurIDNotifierStructs.h" +#include "EapPluginDbDefaults.h" +#include "eap_auth_notifier.h" + + #include "EapGtcDbParameterNames.h" #include "EapGtcDbUtils.h" #include "EapSecurIDNotifierUids.h" #include "eap_configuration_field.h" #include "eap_state_notification.h" -#include "eap_am_trace_symbian.h" +#include "EapTraceSymbian.h" const TUint KMaxSqlQueryLength = 256; const TUint KMaxDBFieldNameLength = 255; @@ -75,6 +78,9 @@ delete m_dialog_data_pckg_ptr; delete m_message_buf; + delete iEapAuthNotifier; + iEapAuthNotifier = 0; + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } @@ -90,52 +96,11 @@ (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, @@ -171,22 +136,12 @@ , m_shutdown_was_called(false) , m_eap_type(aEapType) , m_is_notifier_connected(false) - , m_max_session_time(0) + , 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(); - 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) { @@ -245,6 +200,10 @@ 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) { @@ -255,8 +214,8 @@ EapSecurIDDbUtils::OpenDatabaseL(m_database, m_session, m_index_type, m_index, m_tunneling_type); } - m_dialog_data_ptr = new(ELeave) TEapSecurIDStruct; - m_dialog_data_pckg_ptr = new(ELeave) TPckg (*m_dialog_data_ptr); + m_dialog_data_ptr = new(ELeave) CEapAuthNotifier::TEapDialogInfo; + m_dialog_data_pckg_ptr = new(ELeave) TPckg (*m_dialog_data_ptr); CActiveScheduler::Add(this); } @@ -322,199 +281,6 @@ 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); } @@ -523,34 +289,8 @@ void eap_am_type_securid_symbian_c::DoCancel() { - 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)); + iEapAuthNotifier->Cancel(); - 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; - } } //-------------------------------------------------- @@ -562,9 +302,11 @@ { 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(), @@ -594,6 +336,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("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 @@ -609,17 +360,38 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %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, &KTunnelingType, m_tunneling_vendor_type); + 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()); } else { - sqlStatement.Format(KSQLQueryRow, &unicodeString, &KGtcTableName, - &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); - } + 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()); + } + RDbView view; User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); @@ -729,7 +501,7 @@ // Read Maximum Session Validity Time from the config file eap_variable_data_c sessionTimeFromFile(m_am_tools); - eap_status_e status = m_partner->read_configure( + eap_status_e status = type_configure_read( cf_str_EAP_GTC_max_session_validity_time.get_field(), &sessionTimeFromFile); @@ -791,51 +563,70 @@ eap_variable_data_c * const /*passcode*/, bool is_first_query) { - if (!IsActive()) - { - m_state = EHandlingPasscodeQuery; - - if (is_first_query == true) + 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) { - m_dialog_data_ptr->iIsFirstQuery = ETrue; - } + 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::EEapNotifierTypeGTCQueryDialog, m_dialog_data_ptr, aEapType)); + if (err2) + { + return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure); + } + } + + } + else { - m_dialog_data_ptr->iIsFirstQuery = EFalse; + 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; } - 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. - } - 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; + return EAP_STATUS_RETURN(m_am_tools, status); } //-------------------------------------------------- @@ -853,80 +644,83 @@ message, message_length)); - if (!IsActive()) - { - m_state = EHandlingGTCQuery; + 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 ((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 { - return EAP_STATUS_RETURN(m_am_tools, status); + 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; } - 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; + return EAP_STATUS_RETURN(m_am_tools, status); } //-------------------------------------------------- @@ -938,51 +732,426 @@ { EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::_pincode_query_dialog - start - is_first_query=%d\n"), is_first_query)); - if (!IsActive()) - { - m_state = EHandlingPincodeQuery; + eap_status_e status = eap_status_pending_request; + + TEapExpandedType aEapType(*EapExpandedTypeGtc.GetType()); + + m_state = EHandlingPincodeQuery; - if (is_first_query == true) + 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) { - m_dialog_data_ptr->iIsFirstQuery = ETrue; - } + + 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::EEapNotifierTypeGTCQueryDialog, m_dialog_data_ptr, aEapType)); + if (err2) + { + return EAP_STATUS_RETURN(m_am_tools, eap_status_authentication_failure); + } + } + + } + else { - m_dialog_data_ptr->iIsFirstQuery = EFalse; + if(m_partner->set_timer(this,EHandlingTimerCall, 0 /*data*/, 2 /*time ms*/) != eap_status_ok) + status = eap_status_process_general_error; } - if( !m_is_notifier_connected ) + + + 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 ) ); + + 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)) { - TInt error = m_notifier.Connect(); + + if (username.Size() == 0) + { + m_dialog_data_ptr->iUsername.Zero(); + } + else + { + m_dialog_data_ptr->iUsername.Copy(username); + } + + status = KErrCancel; + } + 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_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_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) + } + +//-------------------------------------------------- + +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) { - // Can not connect to notifier. - return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); + 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; } - m_is_notifier_connected = true; // Got connectted to notifier. - } - - EAP_TRACE_DEBUG_SYMBIAN((_L(" eap_am_type_securid_symbian_c::show_pincode_query_dialog - StartNotifierAndGetResponse - KEapSecurIDPincodeQueryUid \n"))); + // 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)); - m_notifier.StartNotifierAndGetResponse( - iStatus, - KEapSecurIDPincodeQueryUid, - *m_dialog_data_pckg_ptr, - *m_dialog_data_pckg_ptr); + status = eap_status_ok; + } + + status = get_am_partner()->client_gtc_complete_user_input_query(&passcode_utf8); + } + break; - SetActive(); - } - else - { - 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; + 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; } //-------------------------------------------------- @@ -1055,13 +1224,29 @@ 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) { - EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); + 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); @@ -1080,8 +1265,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; @@ -1098,23 +1283,34 @@ { 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 vendor type=%d\n"), - m_eap_vendor_type)); + 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())); 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"); + _LIT(KSQLQuery, "SELECT %S, %S FROM %S WHERE %S=%d AND %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, &KTunnelingType, m_tunneling_vendor_type); + 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()); } else { @@ -1128,7 +1324,7 @@ RDbView view; // Evaluate view - User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement))); + User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); @@ -1258,20 +1454,30 @@ EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, ( - EAPL("eap_am_type_securid_symbian_c::store_authentication_timeL: EAP Vendor Type=%d\n"), - m_eap_vendor_type)); + 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())); 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"); + _LIT(KSQLQuery, "SELECT %S FROM %S WHERE %S=%d AND %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, &KTunnelingType, m_tunneling_vendor_type); + 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()); } else { @@ -1281,7 +1487,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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbDefaults.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,20 +16,15 @@ */ /* -* %version: 8.1.2 % +* %version: % */ #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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbParameterNames.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11 % +* %version: % */ #ifndef EAPGTCDBPARAMETERNAMES_H diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapGtcDbUtils.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: 8.1.6 % */ #ifndef EAPGTCDBUTILS_H @@ -29,21 +29,10 @@ // LOCAL CONSTANTS -#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"); +// 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. -_LIT(KGtcSecureUIDFormat, "SECURE[102072e9]"); // For the security policy. - -#else - -_LIT(KGtcDatabaseName, "c:\\system\\data\\eapgtc.dat"); - -#endif // #ifdef SYMBIAN_SECURE_DBMS +_LIT(KEapGtcDatabaseName, "eapgtc.dat"); _LIT(KGtcTableName, "eapgtc"); @@ -60,8 +49,8 @@ * @param aIndex Index */ static void OpenDatabaseL( - RDbNamedDatabase& aDatabase, - RDbs& aSession, + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); @@ -105,7 +94,6 @@ const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); - }; #endif // EAPGTCBUTILS_H diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurID.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,14 +16,14 @@ */ /* -* %version: 9.1.2 % +* %version: 16 % */ #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 CEapType +class CEapSecurID : public CEapTypePlugin { public: /** @@ -92,16 +92,13 @@ #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* GetInfoLC(); + CEapTypeInfo* GetInfoL(); /** * Deletes EAP type configuration @@ -123,7 +120,7 @@ * EAP type. * @param aTunnelingType Type number for the tunneling type */ - void SetTunnelingType(const TInt aTunnelingType); + void SetTunnelingType(const TEapExpandedType aTunnelingType); /** * Changes the index of the saved parameters. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbDefaults.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #ifndef EAPSECURIDDBDEFAULTS_H diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbParameterNames.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5.1.2 % +* %version: % */ #ifndef EAPSECURIDDBPARAMETERNAMES_H @@ -28,6 +28,7 @@ _LIT(KServiceType, "ServiceType"); _LIT(KServiceIndex, "ServiceIndex"); +_LIT(KTunnelingTypeVendorId, "TunnelingTypeVendorId"); _LIT(KTunnelingType, "TunnelingType"); #endif // EAPSECURIDDBPARAMETERNAMES_H diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDDbUtils.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: 6.1.7 % */ #ifndef EAPSECURIDDBUTILS_H @@ -29,21 +29,10 @@ // LOCAL CONSTANTS -#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"); +// 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. -_LIT(KSecureUIDFormat, "SECURE[102072e9]"); // For the security policy. - -#else - -_LIT(KDatabaseName, "c:\\system\\data\\eapsecurid.dat"); - -#endif // #ifdef SYMBIAN_SECURE_DBMS +_LIT(KSecurIDDatabaseName, "eapsecurid.dat"); _LIT(KSecurIDTableName, "eapsecurid"); @@ -60,8 +49,8 @@ * @param aIndex Index */ static void OpenDatabaseL( - RDbNamedDatabase& aDatabase, - RDbs& aSession, + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/inc/EapSecurIDGlobal.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ #ifndef EAPSECURIDGLOBAL_H @@ -24,9 +24,9 @@ // LOCAL CONSTANTS -_LIT(KReleaseDate, "20040829:"); // Must be in format YYYYMMDD: (dates and months start from 0) +_LIT(KReleaseDate, ""); // Must be in format YYYYMMDD: (dates and months start from 0) _LIT(KEapTypeVersion, "1.0"); -_LIT(KManufacturer, "Nokia"); +_LIT(KManufacturer, ""); _LIT(KNokiaSignature, ""); _LIT(KExtraInfo1, ""); _LIT(KExtraInfo2, ""); diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/101F8E74.rss Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 10 % +* %version: 7.1.2 % */ // INCLUDES diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcDbUtils.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 18.1.2 % +* %version: 47 % */ // This is enumeration of EAPOL source code. @@ -35,177 +35,218 @@ #include "EapGtcDbParameterNames.h" #include "EapSecurIDDbParameterNames.h" -#include "eap_am_trace_symbian.h" +#include +#include "EapPluginTools.h" const TUint KMaxSqlQueryLength = 512; const TInt KMicroSecsInAMinute = 60000000; // 60000000 micro seconds is 1 minute. // ================= MEMBER FUNCTIONS ======================= -void EapGtcDbUtils::OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession, const TIndexType aIndexType, - const TInt aIndex, const eap_type_value_e aTunnelingType) +void EapGtcDbUtils::OpenDatabaseL( + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, + const TIndexType aIndexType, + const TInt aIndex, + const eap_type_value_e aTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES - - TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + 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())); -#else - - 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) ); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::OpenDatabaseL()\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 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); + TInt error(KErrNone); + TFileName aPrivateDatabasePathName; - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL - Created Secure DB for eapgtc.dat. err=%d\n"), err)); + EapPluginTools::CreateDatabaseLC( + aDatabase, + aFileServerSession, + error, + KEapGtcDatabaseName, + aPrivateDatabasePathName); - - if(err == KErrNone) + if(error == KErrNone) { aDatabase.Close(); - - } else if (err != KErrAlreadyExists) + } + else if (error != KErrAlreadyExists) { - User::LeaveIfError(err); + 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 + 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); // 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 |// -//| 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 |// + // 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 |// ////////////////////////////////////////////////////////////////////////////////////////////////// + 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 VARCHAR(255), \ - %S BIGINT, \ - %S BIGINT)"); + _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))"); + 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); + &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"))); - err = aDatabase.Execute(sqlStatement); - if (err != KErrNone && err != KErrAlreadyExists) + error = aDatabase.Execute(sqlStatement); + if (error != KErrNone && error != KErrAlreadyExists) { - User::Leave(err); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapGtcDbUtils::OpenDatabaseL(): aDatabase.Execute() error=%d\n"), + error)); + + User::Leave(error); } // 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"); - sqlStatement.Format(KSQLQueryRow, &cf_str_EAP_GTC_identity_literal, &KGtcTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + + 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()); RDbView view; - User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + + 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); // View must be closed when no longer needed CleanupClosePushL(view); - User::LeaveIfError(view.EvaluateAll()); + + 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); // 5. If row is not found then add it + EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls view.CountL()\n"))); + TInt rows = view.CountL(); - CleanupStack::PopAndDestroy(); // view + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): view.CountL() rows=%d\n"), + rows)); + + CleanupStack::PopAndDestroy(&view); if (rows == 0) { _LIT(KSQLInsert, "SELECT * FROM %S"); sqlStatement.Format(KSQLInsert, &KGtcTableName); - - view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited, RDbView::EInsertOnly); + + 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)); + 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(KTunnelingType), aTunnelingVendorType); - view.SetColL(colSet->ColNo(cf_str_EAP_GTC_identity_literal), default_EAP_GTC_identity); + 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(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 ); // Delete colSet. + CleanupStack::PopAndDestroy( colSet ); - CleanupStack::PopAndDestroy( &view ); // Close view. + CleanupStack::PopAndDestroy( &view ); } - - CleanupStack::PopAndDestroy( buf ); // Delete buf + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::OpenDatabaseL(): calls aDatabase.Compact()\n"))); + + aDatabase.Compact(); + + CleanupStack::PopAndDestroy( buf ); CleanupStack::Pop( &aDatabase ); - CleanupStack::Pop( &aSession ); - - aDatabase.Compact(); + CleanupStack::Pop( &aFileServerSession ); } +// ---------------------------------------------------------- void EapGtcDbUtils::SetIndexL( RDbNamedDatabase& aDatabase, @@ -216,25 +257,37 @@ 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(); + 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())); -#else - - TUint aTunnelingVendorType = static_cast(aTunnelingType); - TUint aNewTunnelingVendorType = static_cast(aNewTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::SetIndexL()\n")); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + _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, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQL, + &KGtcTableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); RDbView view; @@ -264,17 +317,20 @@ view.UpdateL(); - view.SetColL(colSet->ColNo(KServiceType), static_cast(aNewIndexType)); - - view.SetColL(colSet->ColNo(KServiceIndex), aNewIndex); - - view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingVendorType); + 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.PutL(); - CleanupStack::PopAndDestroy(3); // view, colset, buf + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); } +// ---------------------------------------------------------- + void EapGtcDbUtils::SetConfigurationL( RDbNamedDatabase& aDatabase, const EAPSettings& aSettings, @@ -282,18 +338,19 @@ const TInt aIndex, const eap_type_value_e aTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES - - TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + 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())); -#else + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::SetConfigurationL()\n")); - TUint aTunnelingVendorType = static_cast(aTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_SETTINGS(&aSettings); // Check if the settings are for the correct type - if (aSettings.iEAPType != EAPSettings::EEapGtc) + if (aSettings.iEAPExpandedType != (*EapExpandedTypeGtc.GetType())) { User::Leave(KErrNotSupported); } @@ -304,9 +361,18 @@ RDbView view; - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQLQuery, &KGtcTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -331,7 +397,7 @@ { // Username too long. Can not be stored in DB. - EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::SetConfigurationL: Too long Username. Length=%d \n"), + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapGtcDbUtils::SetConfigurationL(): Too long Username. Length=%d \n"), aSettings.iUsername.Length())); User::Leave(KErrArgument); @@ -351,21 +417,61 @@ 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("Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n"), - aSettings.iEAPType )); + 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())); + + 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, @@ -373,15 +479,14 @@ const TInt aIndex, const eap_type_value_e aTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES - - TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + 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())); -#else - - TUint aTunnelingVendorType = static_cast(aTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::GetConfigurationL()\n")); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); @@ -389,9 +494,18 @@ RDbView view; // Form the query - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQLQuery, &KGtcTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -408,13 +522,38 @@ CDbColSet* colSet = view.ColSetL(); CleanupStack::PushL(colSet); - aSettings.iEAPType = EAPSettings::EEapGtc; + aSettings.iEAPExpandedType = *EapExpandedTypeGtc.GetType(); // 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)); @@ -424,9 +563,15 @@ aSettings.iSessionValidityTime = static_cast(maxSessionTimeMin); aSettings.iSessionValidityTimePresent = ETrue; - CleanupStack::PopAndDestroy(3); // view, colset, buf + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); + + EAP_TRACE_SETTINGS(&aSettings); } +// ---------------------------------------------------------- + void EapGtcDbUtils::CopySettingsL( RDbNamedDatabase& aDatabase, const TIndexType aSrcIndexType, @@ -436,25 +581,37 @@ const TInt aDestIndex, const eap_type_value_e aDestTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES - - TUint aSrcTunnelingVendorType = aSrcTunnelingType.get_vendor_type(); - TUint aDestTunnelingVendorType = aDestTunnelingType.get_vendor_type(); + 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())); -#else - - TUint aSrcTunnelingVendorType = static_cast(aSrcTunnelingType); - TUint aDestTunnelingVendorType = static_cast(aDestTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::CopySettingsL()\n")); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); - sqlStatement.Format(KSQL, &KGtcTableName, - &KServiceType, aSrcIndexType, &KServiceIndex, aSrcIndex, &KTunnelingType, aSrcTunnelingVendorType); + sqlStatement.Format(KSQL, + &KGtcTableName, + &KServiceType, + aSrcIndexType, + &KServiceIndex, + aSrcIndex, + &KTunnelingTypeVendorId, + aSrcTunnelingType.get_vendor_id(), + &KTunnelingType, + aSrcTunnelingType.get_vendor_type()); RDbView view; @@ -485,99 +642,91 @@ CleanupStack::PushL(colSet); view.SetColL(colSet->ColNo(KServiceType), static_cast(aDestIndexType)); - view.SetColL(colSet->ColNo(KServiceIndex), aDestIndex); - - view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingVendorType); + view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aDestTunnelingType.get_vendor_id()); + view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingType.get_vendor_type()); view.PutL(); - CleanupStack::PopAndDestroy(3); // view, colset, buf + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); } +// ---------------------------------------------------------- + void EapGtcDbUtils::DeleteConfigurationL( const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES - - TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); + 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())); -#else + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapGtcDbUtils::DeleteConfigurationL()\n")); - TUint aTunnelingVendorType = static_cast(aTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + RDbNamedDatabase aDatabase; + RFs aFileServerSession; - RDbs session; - RDbNamedDatabase database; - // Connect to the DBMS server. - User::LeaveIfError(session.Connect()); - CleanupClosePushL(session); - -#ifdef SYMBIAN_SECURE_DBMS + TInt error(KErrNone); + TFileName aPrivateDatabasePathName; - // 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) + 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) { // Database was created so it was empty. No need for further actions. - database.Destroy(); - CleanupStack::PopAndDestroy(); + aDatabase.Destroy(); + CleanupStack::PopAndDestroy(&aDatabase); + CleanupStack::PopAndDestroy(&aFileServerSession); return; - - } - else if (err != KErrAlreadyExists) + } + else if (error != KErrAlreadyExists) { - User::LeaveIfError(err); + User::LeaveIfError(error); } - // 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(): - calls aDatabase.Open()\n"))); + + error = aDatabase.Open(aFileServerSession, aPrivateDatabasePathName); - 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 + EAP_TRACE_DEBUG_SYMBIAN((_L("EapGtcDbUtils::DeleteConfigurationL(): - Opened private DB for EAP-GTC. error=%d\n"), error)); + + User::LeaveIfError(error); 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"); - sqlStatement.Format(KSQL, &KGtcTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); + // Evaluate view RDbView view; - User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + User::LeaveIfError(view.Prepare(aDatabase,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); @@ -589,8 +738,12 @@ } while (view.NextL() != EFalse); } - // Close database - CleanupStack::PopAndDestroy(4); // view, buf, database, session + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(&aDatabase); + CleanupStack::PopAndDestroy(&aFileServerSession); } +// ---------------------------------------------------------- + // End of File diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiConnection.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiConnection.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,131 +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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiDataConnection.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiDataConnection.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,217 +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.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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiGtcData.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapGtcUiGtcData.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +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.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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurID.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 15.1.2 % +* %version: 25 % */ // This is enumeration of EAPOL source code. @@ -37,10 +37,9 @@ #include #include "EapGtcDbUtils.h" -#include -#include "EapGtcUi.h" - #include "eap_am_tools_symbian.h" +#include "EapConversion.h" +#include "EapTraceSymbian.h" // LOCAL CONSTANTS @@ -152,36 +151,13 @@ // ---------------------------------------------------------- -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* CEapSecurID::GetInfoL() { CEapTypeInfo* info = new(ELeave) CEapTypeInfo( (TDesC&) KReleaseDate, (TDesC&) KEapTypeVersion, (TDesC&) KManufacturer); - CleanupStack::PushL(info); + return info; } @@ -194,19 +170,20 @@ // ---------------------------------------------------------- -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::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::SetIndexL( @@ -230,13 +207,16 @@ RDbNamedDatabase db; - RDbs session; - - EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); + RFs session; 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, @@ -249,22 +229,27 @@ iIndexType = aIndexType; iIndex = aIndex; - CleanupStack::PopAndDestroy(2); // db - - + db.Close(); + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&session); } void CEapSecurID::SetConfigurationL(const EAPSettings& aSettings) { RDbNamedDatabase db; - RDbs session; - - // This also creates the IAP entry if it doesn't exist - EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); + RFs session; 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, @@ -272,21 +257,28 @@ iIndexType, iIndex, iTunnelingType); - - CleanupStack::PopAndDestroy(2); // db, session + + db.Close(); + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&session); } void CEapSecurID::GetConfigurationL(EAPSettings& aSettings) { RDbNamedDatabase db; - RDbs session; - - // This also creates the IAP entry if it doesn't exist - EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); + RFs session; 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, @@ -294,8 +286,12 @@ iIndexType, iIndex, iTunnelingType); - - CleanupStack::PopAndDestroy(2); // db, session + + db.Close(); + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&session); } void CEapSecurID::CopySettingsL( @@ -319,13 +315,16 @@ RDbNamedDatabase db; - RDbs session; - - EapGtcDbUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType); + RFs session; 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, @@ -334,9 +333,12 @@ aDestinationIndexType, aDestinationIndex, iTunnelingType); - - CleanupStack::PopAndDestroy(2); // db - + + db.Close(); + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&session); } diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurIDDbUtils.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 14.1.2 % +* %version: 29 % */ // This is enumeration of EAPOL source code. @@ -34,88 +34,64 @@ #include "EapSecurIDDbDefaults.h" #include "EapSecurIDDbParameterNames.h" -#include "eap_am_trace_symbian.h" +#include +#include "EapPluginTools.h" const TUint KMaxSqlQueryLength = 512; // ================= MEMBER FUNCTIONS ======================= -void EapSecurIDDbUtils::OpenDatabaseL(RDbNamedDatabase& aDatabase, RDbs& aSession, const TIndexType aIndexType, - const TInt aIndex, const eap_type_value_e aTunnelingType) +void EapSecurIDDbUtils::OpenDatabaseL( + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, + const TIndexType aIndexType, + const TInt aIndex, + const eap_type_value_e aTunnelingType) { -#ifdef USE_EAP_EXPANDED_TYPES + 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())); - TUint aTunnelingVendorType = aTunnelingType.get_vendor_type(); - -#else - - TUint aTunnelingVendorType = static_cast(aTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapSecurIDDbUtils::OpenDatabaseL()\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 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); + + TInt error(KErrNone); + TFileName aPrivateDatabasePathName; - EAP_TRACE_DEBUG_SYMBIAN((_L("EapSecurIDDbUtils::OpenDatabaseL - Created Secure DB for eapsecurid.dat. err=%d\n"), err)); + EapPluginTools::CreateDatabaseLC( + aDatabase, + aFileServerSession, + error, + KSecurIDDatabaseName, + aPrivateDatabasePathName); - - if(err == KErrNone) + if(error == KErrNone) { aDatabase.Close(); - - } else if (err != KErrAlreadyExists) + } + else if (error != KErrAlreadyExists) { - User::LeaveIfError(err); + 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 + 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); // 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 |// ////////////////////////////////////////////////////////////////////////////////////////////////// @@ -123,22 +99,43 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _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) + _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) { - User::Leave(err); + User::Leave(error); } // 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"); - sqlStatement.Format(KSQLQueryRow, &cf_str_EAP_SECURID_identity_literal, &KSecurIDTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); + RDbView view; User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); // View must be closed when no longer needed @@ -146,7 +143,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"); @@ -162,7 +159,8 @@ view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast (aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); + 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_SECURID_identity_literal), default_EAP_SECURID_identity); view.PutL(); @@ -171,9 +169,11 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/securid/symbian/plugin/src/EapSecurIDProxy.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12 % +* %version: 9.1.2 % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/sim/symbian/eap_am_type_sim_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/symbian/plugin/common/EapTypeInfo.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 7 % +* %version: % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/symbian/plugin/include/EapPluginDbDefaults.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/am/type/symbian/plugin/include/EapPluginDbDefaults.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,71 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/EapTlsPeapCertInterface.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 43 % +* %version: 38.1.26 % */ // This is enumeration of EAPOL source code. @@ -34,10 +34,13 @@ #include #include #include "eap_tlv_message_data.h" -#include "eap_am_trace_symbian.h" +#include "EapTraceSymbian.h" +#include "eap_automatic_variable.h" -const TText8 KKeyStoreHandlePrefix[] = "EapTlsPeapKeyStoreHandler"; -const TText8 KKeyStoreHandleKey[] = "CEapTlsPeapCertInterface KeyStore handle"; +#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) enum TAlgorithmAndSignedType { @@ -61,6 +64,14 @@ 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(); @@ -72,14 +83,22 @@ 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) +, iParent(aParent) +, m_am_tools(aTools) +, iAllowedUserCerts(1) +, iEncodedCertificate(0) +, iCertPtr(0,0) +, iMatchingUserCertInfos(1) +, iCAIndex(0) +, iUseAutomaticCaCertificate(EFalse) { + 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); } @@ -88,8 +107,13 @@ void CEapTlsPeapCertInterface::ConstructL() { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("CEapTlsPeapCertInterface::ConstructL()\n"))); + + EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::ConstructL()"); + User::LeaveIfError(iFs.Connect()); CActiveScheduler::Add(this); @@ -106,19 +130,80 @@ CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface() { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - + 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())); + iMatchingUserCerts.ResetAndDestroy(); - iMatchingUserCertInfos.Reset(); + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("CEapTlsPeapCertInterface::~CEapTlsPeapCertInterface(): iMatchingUserCertInfos.ResetAndDestroy(): count=%d\n"), + iMatchingUserCertInfos.Count())); + + iMatchingUserCertInfos.ResetAndDestroy(); - iAllowedUserCerts.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())); 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++) { @@ -126,12 +211,23 @@ } 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; @@ -146,9 +242,15 @@ delete iRSASignature; delete iDSASignature; delete iKeyFilter; - - iFs.Close(); + +#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(); + EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, @@ -160,7 +262,7 @@ //-------------------------------------------------- void CEapTlsPeapCertInterface::GetMatchingCertificatesL( - const RArray& aAllowedUserCerts, + const RPointerArray& aAllowedUserCerts, const TBool aUseCertAuthoritiesFilter, EAP_TEMPLATE_CONST eap_array_c * const aCertAuthorities, const TBool aUseCertTypesFilter, @@ -168,54 +270,61 @@ const TBool aUseAllowedCipherSuitesFilter, const RArray& aAllowedCipherSuites) { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - + 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()"); + iUseCertAuthoritiesFilter = aUseCertAuthoritiesFilter; iUseCertTypesFilter = aUseCertTypesFilter; iUseAllowedCipherSuitesFilter = aUseAllowedCipherSuitesFilter; - iAllowedUserCerts.Reset(); - EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::GetMatchingCertificatesL: Total allowed user certs=%d\n"), - aAllowedUserCerts.Count())); + (EAPL("CEapTlsPeapCertInterface::GetMatchingCertificatesL(): iAllowedUserCerts.Count()=%d\n"), + iAllowedUserCerts.Count())); + + iAllowedUserCerts.ResetAndDestroy(); 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++) { - iAllowedUserCerts.AppendL(aAllowedUserCerts[j]); - -#if defined(_DEBUG) || defined(DEBUG) + EapCertificateEntry * const copy_cert = aAllowedUserCerts[j]->Copy(); + if (copy_cert == 0) + { + User::Leave(KErrNoMemory); + } - // 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 + iAllowedUserCerts.AppendL(copy_cert); + + EAP_TRACE_SETTINGS(copy_cert); } if (iCertAuthorities.Count() > 0) { iCertAuthorities.ResetAndDestroy(); } - if (aUseCertAuthoritiesFilter) + + if (aUseCertAuthoritiesFilter + && aCertAuthorities) { for (TUint i = 0; i < aCertAuthorities->get_object_count(); i++) { @@ -226,8 +335,8 @@ // Try to form distiguished name CX500DistinguishedName* tmp = 0; - TRAPD(err, tmp = CX500DistinguishedName::NewL(ptr)); - if (err == KErrNone) + TRAPD(error, tmp = CX500DistinguishedName::NewL(ptr)); + if (error == KErrNone) { CleanupStack::PushL(tmp); // Distinguished name was found -> add it to array. @@ -265,7 +374,7 @@ if (iCertStore == 0) { - iCertStore = CUnifiedCertStore::NewL(iFs, false); + iCertStore = CUnifiedCertStore::NewL(iFs, EFalse); iCertStore->Initialize(iStatus); } else @@ -280,16 +389,22 @@ //-------------------------------------------------- -void CEapTlsPeapCertInterface::ReadCertificateL(SCertEntry& aCertInfo, const TBool aRetrieveChain) +void CEapTlsPeapCertInterface::ReadCertificateL(EapCertificateEntry& aCertInfo, const TBool aRetrieveChain) { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("CEapTlsPeapCertInterface::ReadCertificateL()\n"))); + + EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::ReadCertificateL()"); + iCertInfo = aCertInfo; iRetrieveChain = aRetrieveChain; iState = EReadCertInitStore; if (iCertStore == 0) { - iCertStore = CUnifiedCertStore::NewL(iFs, false); + iCertStore = CUnifiedCertStore::NewL(iFs, EFalse); iCertStore->Initialize(iStatus); } else @@ -303,17 +418,21 @@ //-------------------------------------------------- -void CEapTlsPeapCertInterface::ReadCACertificateL(SCertEntry& aCertInfo) +void CEapTlsPeapCertInterface::ReadCACertificateL(EapCertificateEntry& aCertInfo) { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("CEapTlsPeapCertInterface::ReadCACertificateL.\n"))); - + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("CEapTlsPeapCertInterface::ReadCACertificateL()\n"))); + + EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::ReadCACertificateL()"); + iCertInfo = aCertInfo; iState = EReadCACertInitStore; if (iCertStore == 0) { - iCertStore = CUnifiedCertStore::NewL(iFs, false); + iCertStore = CUnifiedCertStore::NewL(iFs, EFalse); iCertStore->Initialize(iStatus); } else @@ -328,19 +447,48 @@ //-------------------------------------------------- -void CEapTlsPeapCertInterface::ValidateChainL(TDesC8& aCertChain, RArray& aAllowedCACerts) -{ - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); +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; iCAIndex = 0; - iAllowedCACerts = aAllowedCACerts; + 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); + } + } + delete iInputCertChain; iInputCertChain = 0; iInputCertChain = aCertChain.AllocL(); iState = EValidateChainInitStore; + if (iCertStore == 0) { - iCertStore = CUnifiedCertStore::NewL(iFs, false); + iCertStore = CUnifiedCertStore::NewL(iFs, EFalse); iCertStore->Initialize(iStatus); } else @@ -348,7 +496,9 @@ TRequestStatus* status = &iStatus; User::RequestComplete(status, KErrNone); } + SetActive(); + EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); } @@ -356,13 +506,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( @@ -460,15 +610,23 @@ //-------------------------------------------------- void CEapTlsPeapCertInterface::SignL( - TKeyIdentifier& aKeyId, + const TKeyIdentifier& aKeyId, const TDesC8& aHashIn, const TUint aSignatureLength) { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("CEapTlsPeapCertInterface::SignL()\n"))); + + EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::SignL()"); + iKeyIdentifier = aKeyId; if (aHashIn.Size() > KMaxHashLength) { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Illegal hash size to SignL.\n"))); + 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_END(m_am_tools, TRACE_FLAGS_DEFAULT); User::Leave(KErrGeneral); } @@ -496,6 +654,9 @@ 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)); @@ -514,12 +675,17 @@ 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: cannot get previous keystore handle.\n"))); + (EAPL("EAP_type_TLSPEAP: CEapTlsPeapCertInterface::SignL(): cannot get previous CUnifiedKeyStore handle.\n"))); // At this point we can set the passphrase timeout because it the passphrase @@ -530,6 +696,8 @@ 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), @@ -604,15 +772,24 @@ 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(); @@ -623,10 +800,16 @@ //-------------------------------------------------- void CEapTlsPeapCertInterface::DecryptL( - TKeyIdentifier& aKeyId, + const TKeyIdentifier& aKeyId, const TDesC8& aDataIn) { - EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("CEapTlsPeapCertInterface::DecryptL()\n"))); + + EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::DecryptL()"); + iKeyIdentifier = aKeyId; delete iDataIn; @@ -650,6 +833,9 @@ // 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)); @@ -668,16 +854,22 @@ 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: cannot get previous keystore handle.\n"))); + (EAPL("EAP_type_TLSPEAP: CEapTlsPeapCertInterface::DecryptL(): cannot get previous CUnifiedKeyStore 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), @@ -703,7 +895,7 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("EAP_type_TLSPEAP: Found previous keystore handle.\n"))); + (EAPL("EAP_type_TLSPEAP: CEapTlsPeapCertInterface::DecryptL(): Found previous keystore handle.\n"))); // Parse read data. eap_array_c tlv_blocks(m_am_tools); @@ -746,14 +938,23 @@ 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); } @@ -761,49 +962,51 @@ 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(): iStatus %d\n"), - iStatus.Int())); + (EAPL("CEapTlsPeapCertInterface::RunL(): TEMP iStatus=%d, iState=%d\n"), + iStatus.Int(), + iState)); + + EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::RunL()"); if (!(iStatus.Int() == KErrNone)) { EAP_TRACE_ERROR( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: EAP-TLS certificate interface failed: %d.\n"), + (EAPL("ERROR: EAP-TLS certificate interface failed: error=%d.\n"), iStatus.Int())); iParent->SendErrorNotification(eap_status_user_cancel_authentication); if(iState == ESignOpenKeyStore) { // User probably cancelled the keystore password query. - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeapCertInterface::RunL(): ESignOpenKeyStore Failed"))); - + + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("CEapTlsPeapCertInterface::RunL(): ESignOpenKeyStore Failed\n"))); + if(iRSASigner != NULL) { iRSASigner->Release(); - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeapCertInterface::RunL(): iRSASigner->Release() OK"))); - + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("CEapTlsPeapCertInterface::RunL(): iRSASigner->Release() OK\n"))); } if(iDSASigner != NULL) { iDSASigner->Release(); - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeapCertInterface::RunL(): iDSASigner->Release() OK"))); + EAP_TRACE_DEBUG( + m_am_tools, + TRACE_FLAGS_DEFAULT, + (EAPL("CEapTlsPeapCertInterface::RunL(): iDSASigner->Release() OK\n"))); } } @@ -830,12 +1033,12 @@ } iCertInfos.Reset(); - TRAPD(err, iCertFilter = CCertAttributeFilter::NewL()); - if (err != KErrNone) + TRAPD(error, iCertFilter = CCertAttributeFilter::NewL()); + if (error != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - CArrayFixFlat tmp(sizeof(SCertEntry)); + RPointerArray tmp(sizeof(EapCertificateEntry)); m_am_tools->enter_global_mutex(); @@ -866,7 +1069,7 @@ (EAPL("CEapTlsPeapCertInterface::RunL(): EGetMatchingCertsInitialize, Total Certs: iCertInfos.Count()=%d\n"), iCertInfos.Count())); - iMatchingUserCertInfos.Reset(); + iMatchingUserCertInfos.ResetAndDestroy(); // Remove non-allowed TInt i(0); @@ -875,10 +1078,10 @@ { for (j = 0; j < iAllowedUserCerts.Count(); j++) { - if ( (iCertInfos[i]->Label().Compare(iAllowedUserCerts[j].iLabel) == 0 + if ( (iCertInfos[i]->Label().Compare(*(iAllowedUserCerts[j]->GetLabel())) == 0 || iCertInfos[i]->Label().Length() == 0 - || iAllowedUserCerts[j].iLabel.Length() == 0) - && iCertInfos[i]->SubjectKeyId() == iAllowedUserCerts[j].iSubjectKeyId) + || iAllowedUserCerts[j]->GetLabel()->Length() == 0) + && iCertInfos[i]->SubjectKeyId() == iAllowedUserCerts[j]->GetSubjectKeyId()) { EAP_TRACE_DEBUG( @@ -886,14 +1089,19 @@ TRACE_FLAGS_DEFAULT, (EAPL("RunL(): EGetMatchingCertsInitialize, Found a Matching USER cert\n"))); - EAP_TRACE_DEBUG( + EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (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())); + (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())); break; } @@ -904,7 +1112,8 @@ iCertInfos.Remove(i); i--; } - } + } + if (iCertInfos.Count() == 0) { EAP_TRACE_DEBUG( @@ -913,23 +1122,16 @@ (EAPL("CEapTlsPeapCertInterface::RunL(): EGetMatchingCertsInitialize - No matching Certificates.\n"))); // No matching certs - - 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"))); - } - + + // Timeout handles error situation + RPointerArray empty(sizeof(EapCertificateEntry)); + m_am_tools->enter_global_mutex(); - - iParent->complete_get_matching_certificates(*tmp, eap_status_illegal_certificate); //Failure - + + iParent->complete_get_matching_certificates(empty, eap_status_illegal_certificate); //Failure + m_am_tools->leave_global_mutex(); - delete tmp; break; } @@ -942,29 +1144,32 @@ iEncodedCertificate->Des().SetLength(0); - TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(iCertInfos[iUserCertIndex]->Size())); - if (err != KErrNone) + HBufC8 * tmpCert = 0; + TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(iCertInfos[iUserCertIndex]->Size())); + if (error != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - - CArrayFixFlat tmp(sizeof(SCertEntry)); - + + RPointerArray empty(sizeof(EapCertificateEntry)); + m_am_tools->enter_global_mutex(); - - iParent->complete_get_matching_certificates(tmp, eap_status_allocation_error); //Failure - + + iParent->complete_get_matching_certificates(empty, 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; @@ -977,16 +1182,16 @@ (EAPL("CEapTlsPeapCertInterface::RunL(): EGetMatchingCertsLoop\n"))); CX509Certificate* cert = 0; - TRAPD(err, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); - if (err != KErrNone || cert == 0) + TRAPD(error, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); + if (error != KErrNone || cert == 0) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - CArrayFixFlat tmp(sizeof(SCertEntry)); + RPointerArray empty(sizeof(EapCertificateEntry)); m_am_tools->enter_global_mutex(); - iParent->complete_get_matching_certificates(tmp, eap_status_allocation_error); //Failure + iParent->complete_get_matching_certificates(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -998,37 +1203,57 @@ delete cert; EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - CArrayFixFlat tmp(sizeof(SCertEntry)); + RPointerArray empty(sizeof(EapCertificateEntry)); m_am_tools->enter_global_mutex(); - iParent->complete_get_matching_certificates(tmp, eap_status_allocation_error); //Failure + iParent->complete_get_matching_certificates(empty, 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. - - SCertEntry entry; - entry.iLabel.Copy(iCertInfos[iUserCertIndex]->Label()); - entry.iSubjectKeyId = iCertInfos[iUserCertIndex]->SubjectKeyId(); + + 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()); - TRAP(err, iMatchingUserCertInfos.AppendL(entry)); - if (err != KErrNone) + TRAP(error, iMatchingUserCertInfos.AppendL(entry)); + if (error != KErrNone) { EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - CArrayFixFlat tmp(sizeof(SCertEntry)); - + RPointerArray empty(sizeof(EapCertificateEntry)); + m_am_tools->enter_global_mutex(); - iParent->complete_get_matching_certificates(tmp, eap_status_allocation_error); //Failure + iParent->complete_get_matching_certificates(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); + delete entry; + break; } @@ -1055,13 +1280,15 @@ // Matches break; } - } + } // for() + if (j == iCertAuthorities.Count()) { // No match. Remove delete iMatchingUserCerts[i]; iMatchingUserCerts.Remove(i); - iMatchingUserCertInfos.Delete(i); + delete iMatchingUserCertInfos[i]; + iMatchingUserCertInfos.Remove(i); i--; EAP_TRACE_DEBUG( @@ -1072,7 +1299,8 @@ } } // Check Certificate types - if (iUseCertTypesFilter) + if (iUseCertTypesFilter + && iCertTypes != 0) { for (i = 0; i < (TInt) iMatchingUserCerts.Count(); i++) { @@ -1084,27 +1312,33 @@ for (j = 0; j < iCertTypes->get_object_count(); j++) { u8_t* val = iCertTypes->get_object(j); - if (algorithm == ERSA - && (*val == ERSASign - || *val == ERSASignWithFixedDH - || *val == ERSASignWithEphemeralDH)) + + if (val != 0) { - break; + if (algorithm == ERSA + && (*val == ERSASign + || *val == ERSASignWithFixedDH + || *val == ERSASignWithEphemeralDH)) + { + break; + } + else if (algorithm == EDSA + && (*val == EDSASign + || *val == EDSASignWithFixedDH + || *val == EDSASignWithEphemeralDH)) + { + break; + } } - if (algorithm == EDSA - && (*val == EDSASign - || *val == EDSASignWithFixedDH - || *val == EDSASignWithEphemeralDH)) - { - break; - } - } + } // for() + if (j == iCertTypes->get_object_count()) { // No match. Remove delete iMatchingUserCerts[i]; iMatchingUserCerts.Remove(i); - iMatchingUserCertInfos.Delete(i); + delete iMatchingUserCertInfos[i]; + iMatchingUserCertInfos.Remove(i); i--; EAP_TRACE_DEBUG( @@ -1116,6 +1350,7 @@ } } + // Check cipher suites if (iUseAllowedCipherSuitesFilter) { @@ -1135,7 +1370,8 @@ // No match. Remove delete iMatchingUserCerts[i]; iMatchingUserCerts.Remove(i); - iMatchingUserCertInfos.Delete(i); + delete iMatchingUserCertInfos[i]; + iMatchingUserCertInfos.Remove(i); i--; EAP_TRACE_DEBUG( @@ -1160,21 +1396,24 @@ iEncodedCertificate->Des().SetLength(0); - TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(iCertInfos[iUserCertIndex]->Size())); - if (err != KErrNone) + HBufC8 * tmpCert = 0; + TRAPD(error, tmpCert = iEncodedCertificate->ReAllocL(iCertInfos[iUserCertIndex]->Size())); + if (error != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - CArrayFixFlat tmp(sizeof(SCertEntry)); + RPointerArray empty(sizeof(EapCertificateEntry)); m_am_tools->enter_global_mutex(); - iParent->complete_get_matching_certificates(tmp, eap_status_allocation_error); //Failure + iParent->complete_get_matching_certificates(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; } + + iEncodedCertificate = tmpCert; iCertPtr.Set(iEncodedCertificate->Des()); @@ -1205,16 +1444,16 @@ } iCertInfos.Reset(); - TRAPD(err, iCertFilter = CCertAttributeFilter::NewL()); - if (err != KErrNone || iCertFilter == 0) + TRAPD(error, iCertFilter = CCertAttributeFilter::NewL()); + if (error != KErrNone || iCertFilter == 0) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray tmp; + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1223,10 +1462,13 @@ iCertFilter->SetFormat(EX509Certificate); iCertFilter->SetOwnerType(EUserCertificate); - iCertFilter->SetSubjectKeyId(iCertInfo.iSubjectKeyId); - if (iCertInfo.iLabel.Size()>0) - iCertFilter->SetLabel(iCertInfo.iLabel); // We can not use Label in the filter as certificates saved + iCertFilter->SetSubjectKeyId(iCertInfo.GetSubjectKeyId()); + + if (iCertInfo.GetLabel()->Size() > 0) + { + iCertFilter->SetLabel(*(iCertInfo.GetLabel())); // 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( @@ -1250,11 +1492,11 @@ { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EReadCertList iCertInfos.Count = 0.\n"))); - RPointerArray tmp; + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(tmp, eap_status_illegal_certificate); //Failure + iParent->complete_read_own_certificate(empty, eap_status_illegal_certificate); //Failure m_am_tools->leave_global_mutex(); @@ -1269,21 +1511,24 @@ iEncodedCertificate->Des().SetLength(0); - TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(info->Size())); - if (err != KErrNone) + 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"))); - RPointerArray tmp; + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; } + + iEncodedCertificate = tmpCert; iCertPtr.Set(iEncodedCertificate->Des()); @@ -1303,16 +1548,16 @@ (EAPL("CEapTlsPeapCertInterface::RunL(): EReadCert\n"))); CX509Certificate* cert = 0; - TRAPD(err, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); - if (err != KErrNone) + TRAPD(error, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); + if (error != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray tmp; + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1325,11 +1570,11 @@ delete cert; EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray tmp; + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1347,7 +1592,7 @@ iState = ERetrieveChainInitStore; if (iCertStore == 0) { - iCertStore = CUnifiedCertStore::NewL(iFs, false); + iCertStore = CUnifiedCertStore::NewL(iFs, EFalse); iCertStore->Initialize(iStatus); } else @@ -1381,16 +1626,16 @@ } iCertInfos.Reset(); - TRAPD(err, iCertFilter = CCertAttributeFilter::NewL()); - if (err != KErrNone) + TRAPD(error, iCertFilter = CCertAttributeFilter::NewL()); + if (error != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray tmp; + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1455,21 +1700,25 @@ iState = ECreateCertChain; iEncodedCertificate->Des().SetLength(0); - TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(info->Size())); - if (err != KErrNone) + + 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"))); - RPointerArray tmp; + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; } + + iEncodedCertificate = tmpCert; iCertPtr.Set(iEncodedCertificate->Des()); @@ -1490,16 +1739,16 @@ (EAPL("CEapTlsPeapCertInterface::RunL(): ECreateCertChain\n"))); CX509Certificate* cert = 0; - TRAPD(err, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); - if (err != KErrNone || cert == 0) + TRAPD(error, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); + if (error != KErrNone || cert == 0) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray tmp; + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1508,24 +1757,33 @@ #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 KeyIdentifier = tempInfo->SubjectKeyId(); + TKeyIdentifier SubjectKeyId = 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_SYMBIAN((_L("Other detials- Format=%d, Owner type=%d, IsDeletable=%d, Type UID=%d"), - 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( + 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_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Subject key Id is"), - KeyIdentifier.Ptr(), - KeyIdentifier.Size())); + SubjectKeyId.Ptr(), + SubjectKeyId.Size())); EAP_TRACE_DATA_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Issuer Id is"), IssuerId.Ptr(), @@ -1553,14 +1811,15 @@ } else { - EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("WARNING: No extension for this certificate\n"))); + EAP_TRACE_DEBUG(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 @@ -1570,11 +1829,11 @@ delete cert; EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray tmp; + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1628,42 +1887,42 @@ const CSubjectPublicKeyInfo& key = iRootCerts[i]->PublicKey(); const TPtrC8 params = key.EncodedParams(); - TRAPD(err, dsaParams = CX509DSAPublicKey::DSAParametersL(params)); - if (err != KErrNone) + TRAPD(error, dsaParams = CX509DSAPublicKey::DSAParametersL(params)); + if (error != KErrNone) { - RPointerArray tmp; + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); return; } - TRAP(err, signParams = CSigningKeyParameters::NewL()); - if (err != KErrNone) + TRAP(error, signParams = CSigningKeyParameters::NewL()); + if (error != KErrNone) { - RPointerArray tmp; + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); delete dsaParams; return; } - TRAP(err, signParams->SetDSAParamsL(*dsaParams)); - if (err != KErrNone) + TRAP(error, signParams->SetDSAParamsL(*dsaParams)); + if (error != KErrNone) { - RPointerArray tmp; + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1672,13 +1931,13 @@ return; } - TRAP(err, iUserCertChain[iUserCertChain.Count()-1]->SetParametersL(*signParams)); - if (err != KErrNone) + TRAP(error, iUserCertChain[iUserCertChain.Count()-1]->SetParametersL(*signParams)); + if (error != KErrNone) { - RPointerArray tmp; + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1696,11 +1955,12 @@ delete dsaParams; delete signParams; EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray tmp; + + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_own_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_own_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); @@ -1741,24 +2001,26 @@ (EAPL("CEapTlsPeapCertInterface::RunL()- ECreateCertChain - Before Retrieve(): iCAIndex=%d, size=%d\n"), iCAIndex, info->Size())); - - iEncodedCertificate->Des().SetLength(0); - TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(info->Size())); - if (err != KErrNone) + + 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"))); - RPointerArray tmp; + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; } + + iEncodedCertificate = tmpCert; iCertPtr.Set(iEncodedCertificate->Des()); @@ -1789,15 +2051,16 @@ } iCertInfos.Reset(); - TRAPD(err, iCertFilter = CCertAttributeFilter::NewL()); - if (err != KErrNone) + TRAPD(error, iCertFilter = CCertAttributeFilter::NewL()); + if (error != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray tmp; + + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; @@ -1805,10 +2068,13 @@ iCertFilter->SetFormat(EX509Certificate); iCertFilter->SetOwnerType(ECACertificate); - iCertFilter->SetSubjectKeyId(iCertInfo.iSubjectKeyId); - if (iCertInfo.iLabel.Size()>0) - iCertFilter->SetLabel(iCertInfo.iLabel);// We can not use Label in the filter as certificates saved + iCertFilter->SetSubjectKeyId(iCertInfo.GetSubjectKeyId()); + + if (iCertInfo.GetLabel()->Size() > 0) + { + iCertFilter->SetLabel(*(iCertInfo.GetLabel()));// 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( @@ -1831,11 +2097,12 @@ if (iCertInfos.Count() == 0) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EReadCACertList iCertInfos.Count = 0.\n"))); - RPointerArray tmp; + + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; @@ -1849,19 +2116,23 @@ iEncodedCertificate->Des().SetLength(0); - TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(info->Size())); - if (err != KErrNone) + 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"))); - RPointerArray tmp; + + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; } + + iEncodedCertificate = tmpCert; iCertPtr.Set(iEncodedCertificate->Des()); @@ -1888,15 +2159,16 @@ iEncodedCertificate->Size())); CX509Certificate* cert = 0; - TRAPD(err, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); - if (err != KErrNone) + TRAPD(error, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); + if (error != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray tmp; + + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; @@ -1908,11 +2180,12 @@ { delete cert; EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - RPointerArray tmp; + + RPointerArray empty; m_am_tools->enter_global_mutex(); - iParent->complete_read_ca_certificate(tmp, eap_status_allocation_error); //Failure + iParent->complete_read_ca_certificate(empty, eap_status_allocation_error); //Failure m_am_tools->leave_global_mutex(); break; @@ -1939,23 +2212,26 @@ } iCertInfos.Reset(); - TRAPD(err, iCertFilter = CCertAttributeFilter::NewL()); - if (err != KErrNone) + TRAPD(error, iCertFilter = CCertAttributeFilter::NewL()); + if (error != KErrNone) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - CPKIXValidationResult* tmp = 0; + + const CPKIXValidationResult * const empty = 0; m_am_tools->enter_global_mutex(); - iParent->complete_validate_chain(*tmp, eap_status_ca_certificate_unknown); //Failure. + iParent->complete_validate_chain(empty, 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, @@ -1972,74 +2248,89 @@ (EAPL("CEapTlsPeapCertInterface::RunL(): EValidateChainGetCACertList\n"))); int index; - TIdentityRelation comparator(&EapTlsPeapUtils::CompareSCertEntries); - // Remove disallowed CA certs from the array - for (TInt i = 0; i < iCertInfos.Count(); i++) + 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 { - SCertEntry certEntry; - certEntry.iLabel.Copy(iCertInfos[i]->Label()); - certEntry.iSubjectKeyId.Copy(iCertInfos[i]->SubjectKeyId()); - index = iAllowedCACerts.Find(certEntry, comparator); - - if (index == KErrNotFound) + // Remove disallowed CA certs from the array + for (TInt i = 0; i < iCertInfos.Count(); i++) { - // Remove - iCertInfos[i]->Release(); - iCertInfos.Remove(i); - i--; + 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--; + } } } + 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. - 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"))); - } + const CPKIXValidationResult * const empty = 0; + + EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: No cert infos\n"))); + m_am_tools->enter_global_mutex(); - 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. + iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure. m_am_tools->leave_global_mutex(); break; } - - iCertPtr.Set(iEncodedCertificate->Des()); + + { + CCTCertInfo* info; + info = iCertInfos[0]; + iCAIndex = 0; + + iState = EValidateChainGetCACert; + + iEncodedCertificate->Des().SetLength(0); - iCertStore->Retrieve( - *info, - iCertPtr, - iStatus); - - SetActive(); + 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(); + } } break; @@ -2051,15 +2342,16 @@ (EAPL("CEapTlsPeapCertInterface::RunL(): EValidateChainGetCACert\n"))); CX509Certificate* cert = 0; - TRAPD(err, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); - if (err != KErrNone) + TRAPD(error, cert = CX509Certificate::NewL(iEncodedCertificate->Des())); + if (error != KErrNone) { - EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); - CPKIXValidationResult* tmp = 0; + 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(*tmp, eap_status_ca_certificate_unknown); //Failure. + iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure. m_am_tools->leave_global_mutex(); break; @@ -2069,12 +2361,13 @@ 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"))); - CPKIXValidationResult* tmp = 0; + 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(*tmp, eap_status_ca_certificate_unknown); //Failure. + iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure. m_am_tools->leave_global_mutex(); break; @@ -2086,35 +2379,46 @@ delete iCertChain; iCertChain = 0; - TRAPD(err, iCertChain = CPKIXCertChain::NewL(iFs, *iInputCertChain, iRootCerts)); - if (err != KErrNone) + TRAPD(error, iCertChain = CPKIXCertChain::NewL(iFs, *iInputCertChain, iRootCerts)); + if (error != KErrNone) { - EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EAP-TLS error %d.\n"), err)); - CPKIXValidationResult* tmp = 0; + EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: EAP-TLS error %d.\n"), error)); + + const CPKIXValidationResult * const empty = 0; m_am_tools->enter_global_mutex(); - iParent->complete_validate_chain(*tmp, eap_status_ca_certificate_unknown); //Failure. + iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure. m_am_tools->leave_global_mutex(); break; } + // Set the current time iTime.UniversalTime(); iState = EValidateChainEnd; - TRAP(err, iCertChain->ValidateL(*iValidationResult, iTime, iStatus)); - if (err != KErrNone) + + 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) { - EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Error in certificate validation in EAP-TLS.\n"))); - CPKIXValidationResult* tmp = 0; + 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; m_am_tools->enter_global_mutex(); - iParent->complete_validate_chain(*tmp, eap_status_ca_certificate_unknown); //Failure. + iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure. m_am_tools->leave_global_mutex(); break; - } + } SetActive(); // Validate. } else @@ -2125,19 +2429,24 @@ iState = EValidateChainGetCACert; iEncodedCertificate->Des().SetLength(0); - TRAPD(err, iEncodedCertificate = iEncodedCertificate->ReAllocL(info->Size())); - if (err != KErrNone) + + 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"))); - CPKIXValidationResult* tmp = 0; + 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(*tmp, eap_status_ca_certificate_unknown); //Failure. + iParent->complete_validate_chain(empty, eap_status_ca_certificate_unknown); //Failure. m_am_tools->leave_global_mutex(); break; } + + iEncodedCertificate = tmpCert; iCertPtr.Set(iEncodedCertificate->Des()); @@ -2156,11 +2465,12 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::RunL(): EValidateChainEnd\n"))); + (EAPL("CEapTlsPeapCertInterface::RunL(): EValidateChainEnd, iValidationResult->Error().iReason=%d\n"), + iValidationResult->Error().iReason)); 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. @@ -2190,8 +2500,8 @@ delete iKeyFilter; iKeyFilter = 0; - TRAPD(err, iKeyFilter = new (ELeave) TCTKeyAttributeFilter); - if (err != KErrNone) + iKeyFilter = new (ELeave) TCTKeyAttributeFilter; + if (!iKeyFilter) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); RInteger tmp; @@ -2313,12 +2623,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 @@ -2345,8 +2655,8 @@ delete iKeyFilter; iKeyFilter = 0; - TRAPD(err, iKeyFilter = new (ELeave) TCTKeyAttributeFilter); - if (err != KErrNone) + iKeyFilter = new (ELeave) TCTKeyAttributeFilter; + if (!iKeyFilter) { EAP_TRACE_ERROR(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Out of memory in EAP-TLS.\n"))); TBuf8<1> tmp; @@ -2434,13 +2744,17 @@ return; } +//-------------------------------------------------- + void CEapTlsPeapCertInterface::CancelSignWithPrivateKey() { EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("CEapTlsPeapCertInterface::CancelSignWithPrivateKey():Cancelling Signing - iState=%d (13=ESign)\n"), - iState)); + (EAPL("CEapTlsPeapCertInterface::CancelSignWithPrivateKey(): iState=%d (13=ESign)\n"), + iState)); + + EAP_TRACE_RETURN_STRING(m_am_tools, "returns: CEapTlsPeapCertInterface::CancelSignWithPrivateKey()"); if(IsActive()) { @@ -2468,4 +2782,6 @@ } } + +//-------------------------------------------------- // End of file diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/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 @@ -16,7 +16,7 @@ */ /* -* %version: 253 % +* %version: 256 % */ // This is enumeration of EAPOL source code. @@ -53,7 +53,7 @@ #include #include "EapTlsPeapTimerValues.h" #include "eap_state_notification.h" -#include "eap_am_trace_symbian.h" +#include "EapTraceSymbian.h" #include "eap_automatic_variable.h" #if defined(USE_FAST_EAP_TYPE) @@ -65,36 +65,49 @@ #include "eap_tlv_header.h" #include "eap_tlv_message_data.h" #endif - -#include "eap_ttls_pap_active.h" +#include + #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( @@ -116,8 +129,7 @@ #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) @@ -138,7 +150,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) @@ -148,6 +160,7 @@ , 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) @@ -176,101 +189,98 @@ , 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) - , m_notifier_data_from_user(NULL) - , m_notifier_data_pckg_from_user(NULL) + + , iMMETELConnectionStatus(false) , 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 ) - , iEapTtlsPapActive( NULL ) - + + , iEapTtlsPapMaxSessionConfigTime( 0 ) + + + + , iPacStoreDeviceSeed(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(); - 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 - 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 (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; + } #if defined (USE_FAST_EAP_TYPE) - 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; + 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; + } #endif // #if defined (USE_FAST_EAP_TYPE) - 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; - } + 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; } if (receive_network_id != 0 @@ -310,7 +320,7 @@ && aEapType != eap_type_ttls #endif // #if defined(USE_TTLS_EAP_TYPE) - && aEapType != eap_type_ttls_plain_pap + && aEapType != eap_expanded_type_ttls_plain_pap.get_type() #if defined (USE_FAST_EAP_TYPE) && aEapType != eap_type_fast @@ -348,6 +358,10 @@ // 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); @@ -372,30 +386,13 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::ConstructL Opened PAC store"))); } - m_info_array.Reset(); + m_info_array.ResetAndDestroy(); #endif // End: #ifdef USE_FAST_EAP_TYPE #endif // End: #ifdef USE_PAC_STORE -#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 - + m_notifier_data_to_user = new(ELeave) CEapAuthNotifier::TEapDialogInfo; + m_notifier_data_pckg_to_user = new(ELeave) TPckg (*m_notifier_data_to_user); } @@ -424,48 +421,27 @@ m_cert_if->Cancel(); } } - - 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 (iEapAuthNotifier != 0) + { + iEapAuthNotifier->Cancel(); + } + + + + +#if defined(USE_FAST_EAP_TYPE) + + + +#endif 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); @@ -482,36 +458,28 @@ 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 ( iEapFastActiveWaitNote ) - { - if ( iEapFastActiveWaitNote->IsActive() ) - { - iEapFastActiveWaitNote->Cancel(); - } - delete iEapFastActiveWaitNote; - iEapFastActiveWaitNote = NULL; - } - - if ( iEapFastActiveNotes ) - { - if ( iEapFastActiveNotes->IsActive() ) - { - iEapFastActiveNotes->Cancel(); - } - delete iEapFastActiveNotes; - iEapFastActiveNotes = NULL; - } +#if defined(USE_FAST_EAP_TYPE) + #endif // #if defined(USE_FAST_EAP_TYPE) - m_allowed_server_certs.Reset(); - m_allowed_ca_certs.Close(); + m_allowed_server_certs.ResetAndDestroy(); + m_allowed_ca_certs.ResetAndDestroy(); m_allowed_cipher_suites.Close(); - m_allowed_user_certs.Reset(); + m_allowed_user_certs.ResetAndDestroy(); #ifdef USE_PAC_STORE #ifdef USE_FAST_EAP_TYPE @@ -521,13 +489,7 @@ iPacStoreDb->Close(); } - 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(); + m_info_array.ResetAndDestroy(); EAP_TRACE_DEBUG_SYMBIAN( (_L(" eap_am_type_tls_peap_symbian_c::shutdown - Arrays cleared"))); @@ -551,7 +513,6 @@ return eap_status_ok; } - //-------------------------------------------------- EAP_FUNC_EXPORT eap_am_type_tls_peap_symbian_c::~eap_am_type_tls_peap_symbian_c() @@ -571,26 +532,14 @@ m_database.Close(); m_session.Close(); -#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_notifier_data_to_user; + delete m_notifier_data_pckg_to_user; 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(); @@ -600,24 +549,306 @@ 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 // End: #ifdef USE_PAC_STORE - +#endif // #ifdef USE_PAC_STORE + + delete iEapAuthNotifier; + iEapAuthNotifier = 0; + 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); @@ -627,41 +858,17 @@ 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) @@ -701,10 +908,11 @@ 0, eap_status_process_general_error); return; + default: return; } - } + } // (iStatus.Int() != KErrNone) if (m_state == EHandlingIdentityQuery || m_state == EHandlingChainQuery) @@ -723,7 +931,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; @@ -742,7 +950,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) { @@ -782,102 +990,124 @@ } } } - 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() { @@ -889,18 +1119,12 @@ { m_cert_if->Cancel(); } - - if ( iEapTtlsPapActive ) - { - if ( iEapTtlsPapActive->IsActive() ) - { - EAP_TRACE_DEBUG_SYMBIAN( - ( _L( " eap_am_type_tls_peap_symbian_c::DoCancel() \ - Cancelling iEapTtlsPapActive." ) ) ); - iEapTtlsPapActive->Cancel(); - } - } - + if (iEapAuthNotifier != 0) + { + iEapAuthNotifier->Cancel(); + } + + #if defined(USE_FAST_EAP_TYPE) m_partner->cancel_timer( @@ -919,23 +1143,6 @@ 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) @@ -945,7 +1152,6 @@ //-------------------------------------------------- // - eap_status_e eap_am_type_tls_peap_symbian_c::SaveManualIdentityL( const TBool use_manual_username, TDesC& manual_username, @@ -955,11 +1161,11 @@ EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); // Validate length. - if(manual_username.Length() > KMaxManualUsernameLengthInDB - || manual_realm.Length() > KMaxManualRealmLengthInDB) + if(manual_username.Length() > KMaxUsernameLengthInDB + || manual_realm.Length() > KMaxRealmLengthInDB) { // 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: UN=%d, Realm=%d\n"), + 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"), manual_username.Length(), manual_realm.Length())); User::Leave(KErrArgument); @@ -970,10 +1176,19 @@ RDbView view; - _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); + _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()); User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); @@ -1051,9 +1266,10 @@ // void eap_am_type_tls_peap_symbian_c::SendErrorNotification( const eap_status_e aError ) - { +{ send_error_notification( aError ); - } +} + //-------------------------------------------------- #if defined(USE_FAST_EAP_TYPE) @@ -1068,19 +1284,15 @@ 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() @@ -1089,7 +1301,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 ) @@ -1113,15 +1325,14 @@ m_pending_operation ); } return m_eap_fast_completion_status; - } - +} #endif //#if defined(USE_FAST_EAP_TYPE) //-------------------------------------------------- // -void eap_am_type_tls_peap_symbian_c::notify_configuration_error( +EAP_FUNC_EXPORT void eap_am_type_tls_peap_symbian_c::notify_configuration_error( const eap_status_e configuration_status) { if (m_is_client == true) @@ -1198,7 +1409,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. @@ -1224,7 +1435,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. @@ -1251,7 +1462,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. @@ -1274,8 +1485,6 @@ ) { -#ifdef USE_EAP_EXPANDED_TYPES - TRAPD(err, EapTlsPeapUtils::GetTunnelingExpandedEapDataL( m_database, m_am_tools, @@ -1285,24 +1494,12 @@ 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. @@ -1367,6 +1564,28 @@ //---------------------------------------------------------- + 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); @@ -1388,75 +1607,6 @@ //---------------------------------------------------------- -#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); @@ -1532,7 +1682,7 @@ { eap_variable_data_c use_session_ticket(m_am_tools); - eap_status_e status = m_partner->read_configure( + eap_status_e status = type_configure_read( cf_str_EAP_TLS_PEAP_use_session_ticket.get_field(), &use_session_ticket); if (status == eap_status_ok @@ -1603,60 +1753,48 @@ eap_status_e status(eap_status_ok); - 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: - { + 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()) + { // read PAP session time - status = m_partner->read_configure( + status = type_configure_read( cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time.get_field(), &sessionTimeFromFile ); - } - break; - + } #if defined(USE_FAST_EAP_TYPE) - case eap_type_fast: - { - status = m_partner->read_configure( - cf_str_EAP_FAST_max_session_validity_time.get_field(), - &sessionTimeFromFile); - } - break; + else if (m_current_eap_type == eap_type_fast) + { + status = type_configure_read( + cf_str_EAP_FAST_max_session_validity_time.get_field(), + &sessionTimeFromFile); + } #endif - - 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)); - } - } + 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())); + } // set m_max_session_time if (status == eap_status_ok @@ -1757,88 +1895,130 @@ status = eap_status_ok; - if (m_allowed_ca_certs.Count() == 0) - { - // needed because of nonworking wrong settings + if (m_use_automatic_ca_certificate == false) + { + 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); - } - } - + { + 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())); + } + + 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())); + } // - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1849,19 +2029,21 @@ 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); @@ -1870,7 +2052,8 @@ TempUserName.Copy(KTempUserName); - HBufC8* buf = HBufC8::NewLC(KIdentityFieldLength); + HBufC8* buf = HBufC8::NewLC(KMaxNotifItemLength); + TPtr8 bufPtr = buf->Des(); HBufC8* tempUserBuf8 = HBufC8::NewLC(KMacAddressLength); @@ -1950,13 +2133,13 @@ m_use_manual_username = true; return status; - } +} #endif // #if defined(USE_FAST_EAP_TYPE) //-------------------------------------------------- -eap_status_e eap_am_type_tls_peap_symbian_c::reset() +EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::reset() { return EAP_STATUS_RETURN(m_am_tools, eap_status_ok); @@ -1990,6 +2173,8 @@ 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) @@ -2095,6 +2280,7 @@ // 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, @@ -2131,6 +2317,7 @@ 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) @@ -2393,6 +2580,8 @@ 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) { @@ -2582,6 +2771,8 @@ 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, @@ -2685,6 +2876,8 @@ 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) @@ -2886,9 +3079,6 @@ //-------------------------------------------------- // -//-------------------------------------------------- - -// EAP_FUNC_EXPORT eap_status_e eap_am_type_tls_peap_symbian_c::timer_expired( const u32_t id, void *data) { @@ -3159,6 +3349,9 @@ 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 @@ -3167,7 +3360,7 @@ || m_current_eap_type == eap_type_fast #endif - || m_current_eap_type == eap_type_ttls_plain_pap + || m_current_eap_type == eap_expanded_type_ttls_plain_pap.get_type() ) { @@ -3230,8 +3423,6 @@ { // 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()) @@ -3249,108 +3440,35 @@ { // 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:"), - 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); - } + 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); + } EAP_TRACE_DATA_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("EAP-PEAP or EAP-TTLS: Trying encapsulated EAP type:"), - 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 - + m_enabled_tunneling_exp_eap_array[0]->GetValue().Ptr(), + m_enabled_tunneling_exp_eap_array[0]->GetValue().Length())); + } + 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 @@ -3379,34 +3497,28 @@ 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_am_tools->convert_am_error_to_eapol_error(err); + status = m_partner->read_configure(field, data); } 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, @@ -3437,7 +3549,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"); + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); #if defined(USE_FAST_EAP_TYPE) @@ -3447,44 +3559,62 @@ 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(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(KFASTWarnADHPNoPAC) == 0) + || (unicodeString.Compare(KFASTWarnADHPNoMatchingPAC) == 0) + || (unicodeString.Compare(KFASTWarnNotDefaultServer) == 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, &KTunnelingType, m_tunneling_vendor_type); - } + 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()); + } else - { - sqlStatement.Format(KSQLQueryRow, &unicodeString, &m_db_table_name, - &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); - } + { + 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()); + } #else - sqlStatement.Format(KSQLQueryRow, &unicodeString, &m_db_table_name, - &KServiceType, m_index_type, &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); + 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()); #endif // End: #if defined(USE_FAST_EAP_TYPE) - + RDbView view; User::LeaveIfError(view.Prepare(m_database, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); @@ -3560,10 +3690,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) @@ -3600,9 +3730,21 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _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); + _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()); + // Evaluate view RDbView view; User::LeaveIfError(view.Prepare(m_database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); @@ -3630,6 +3772,8 @@ 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, @@ -3648,9 +3792,20 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _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); + _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()); // Evaluate view RDbView view; @@ -3678,6 +3833,8 @@ 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, @@ -3696,9 +3853,20 @@ HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _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); + _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()); // Evaluate view RDbView view; @@ -3788,6 +3956,62 @@ //-------------------------------------------------- +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() { @@ -3800,18 +4024,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 && @@ -3857,7 +4081,8 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("query_cipher_suites_and_previous_session(): No user or CA certificate. Read CA certificate.\n"))); + (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())); if (m_allowed_ca_certs.Count() != 0) { @@ -3876,7 +4101,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. @@ -3889,6 +4114,16 @@ } } } // 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) { @@ -3916,176 +4151,105 @@ certAlgorithm = public_key.AlgorithmId(); } - - // 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); - } - } + + + 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 (is_session_valid()) { @@ -4183,6 +4347,7 @@ // 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) @@ -4191,6 +4356,7 @@ 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) { @@ -4199,6 +4365,7 @@ } } + status = get_tls_am_partner()->complete_query_cipher_suites_and_previous_session( tls_session_type, &cipher_suites, @@ -4444,9 +4611,11 @@ { 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_and_query_public_key()\n"), + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("TLS: %s: message_function: verify_certificate_chain()\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); @@ -4468,15 +4637,20 @@ 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) { @@ -4492,6 +4666,11 @@ || (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); @@ -4705,10 +4884,29 @@ } } } + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Server certificate realm verification OK.\n"))); } - - HBufC8* chain = HBufC8::NewL(0); + 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* temp; eap_variable_data_c* cert; @@ -4728,50 +4926,61 @@ #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); - - 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())); + { + 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); - 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); - } - + 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(); + } + } #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) { @@ -4782,42 +4991,120 @@ } m_peer_certificate = CX509Certificate::NewL(ptr); } - CleanupStack::Pop(); - } - CleanupStack::PushL(chain); + + } // 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"))); + TPtr8 certChain = chain->Des(); - m_cert_if->ValidateChainL(certChain, m_allowed_ca_certs); - - CleanupStack::PopAndDestroy(); + 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); + 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( - CPKIXValidationResult& aValidationResult, eap_status_e aStatus) + const CPKIXValidationResult * const aValidationResult, + const 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; - 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)); + + 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))); + result = eap_status_ok; } else { - if (aValidationResult.Error().iReason == EDateOutOfRange) + if (validationError == EDateOutOfRange) { send_error_notification(eap_status_certificate_expired); // Ignore error on purpose @@ -4828,9 +5115,12 @@ // Ignore error on purpose } - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("ERROR: Certificate chain validation FAILED. Reason: %d\n"), - aValidationResult.Error().iReason)); + 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))); result = eap_status_illegal_certificate; } @@ -4851,203 +5141,63 @@ 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; - - 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; - } +{ + 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; +} + #endif //#if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS) #endif @@ -5072,7 +5222,8 @@ if (m_is_client) { - // Get the matching certificates + // client + // 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, ETrue, @@ -5087,6 +5238,7 @@ 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, @@ -5116,8 +5268,10 @@ } +//-------------------------------------------------- + void eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates( - CArrayFixFlat& aMatchingCerts, + RPointerArray& aMatchingCerts, eap_status_e aStatus) { EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -5138,17 +5292,39 @@ // 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.Reset(); - for (TInt i = 0; i < aMatchingCerts.Count(); i++) - { - TRAPD(err, m_allowed_user_certs.AppendL(aMatchingCerts[i])); - if (err != KErrNone) + 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) { 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"), - err)); + (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)); get_am_partner()->complete_eap_identity_query( 0, // 0 because identity query failed @@ -5159,6 +5335,8 @@ 0, false, 0); + + delete entry; EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return; @@ -5200,35 +5378,60 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("eap_am_type_tls_peap_symbian_c: no manual realm - no user cert. Get realm from CA certificate.\n"))); + (EAPL("eap_am_type_tls_peap_symbian_c::complete_get_matching_certificates(): 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) { - 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; + 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_END(m_am_tools, TRACE_FLAGS_DEFAULT); return; } @@ -5240,14 +5443,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); @@ -5265,20 +5468,31 @@ if (aMatchingCerts.Count() > 0) { - m_allowed_user_certs.Reset(); - - for (TInt i = 0; i < aMatchingCerts.Count(); i++) + 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 { - 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; - } + 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; + } } } @@ -5287,10 +5501,18 @@ // 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); } @@ -5313,10 +5535,12 @@ { 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() { @@ -5331,7 +5555,7 @@ eap_array_c certificate_authorities(m_am_tools); eap_variable_data_c ca_dn(m_am_tools); - // TEST CODE: This is not a proper CA DN. + // TEST CODE: Implementation do not support yet a proper CA DN. _LIT8(KTestCA, "ca.eapsim.foo"); status = ca_dn.add_data(KTestCA().Ptr(), KTestCA().Size()); if (status != eap_status_ok) @@ -5521,13 +5745,13 @@ subject_identity.get_data_length(), subject_identity.get_data_length()); - status = subject_realm->set_copy_of_buffer((ptr.Mid(offset + 1)).Ptr(), ptr.Length() - offset - 1); + status = subject_realm->set_copy_of_buffer((ptr.Mid(offset + KOffsetCorrection)).Ptr(), ptr.Length() - offset - KOffsetCorrection); 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)); @@ -5542,10 +5766,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 + 1)).Ptr(), ptr2.Length() - offset - 1); + status = issuer_realm->set_copy_of_buffer((ptr2.Mid(offset + KOffsetCorrection)).Ptr(), ptr2.Length() - offset - KOffsetCorrection); if (status != eap_status_ok) { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); @@ -5558,7 +5782,6 @@ //-------------------------------------------------- - 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, @@ -5651,7 +5874,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( @@ -5731,7 +5954,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.iSubjectKeyId, *data)); + TRAP(err, m_cert_if->DecryptL(m_own_certificate_info.GetSubjectKeyId(), *data)); if (err != KErrNone) { @@ -5793,6 +6016,7 @@ } //-------------------------------------------------- + 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) { @@ -5851,7 +6075,7 @@ signature_length = public_key_data.Size(); } - TRAP(err, m_cert_if->SignL(m_own_certificate_info.iSubjectKeyId, hash, signature_length)); + TRAP(err, m_cert_if->SignL(m_own_certificate_info.GetSubjectKeyId(), hash, signature_length)); if (err != KErrNone) { status = m_am_tools->convert_am_error_to_eapol_error(err); @@ -5867,7 +6091,9 @@ 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) { @@ -5888,6 +6114,8 @@ 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) { @@ -6049,7 +6277,7 @@ } else { - EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Signing with private key failed.\n"))); + EAP_TRACE_DEBUG(m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("ERROR: Verify 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); } @@ -6066,6 +6294,8 @@ 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); @@ -6123,6 +6353,7 @@ //-------------------------------------------------- // 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 */, @@ -6144,31 +6375,32 @@ 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 vendor ID=%x, type=%x\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-type=0xfe%06x%08x\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; - // 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); - + 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)); + } + 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]->iExpandedEAPType.Ptr(), - m_enabled_tunneling_exp_eap_array[i]->iExpandedEAPType.Size())); + m_enabled_tunneling_exp_eap_array[i]->GetValue().Ptr(), + m_enabled_tunneling_exp_eap_array[i]->GetValue().Size())); if (eap_type == expEAPTmp) { @@ -6178,35 +6410,7 @@ } } -#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); } @@ -6223,15 +6427,11 @@ 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, @@ -6242,25 +6442,27 @@ m_am_tools, TRACE_FLAGS_DEFAULT, (EAPL("Enabled expanded EAP type:"), - tmpExpEAP.Ptr(), - tmpExpEAP.Size())); + m_enabled_tunneling_exp_eap_array[i]->GetValue().Ptr(), + m_enabled_tunneling_exp_eap_array[i]->GetValue().Size())); // This is for one expanded EAP type (for the above one). eap_type_value_e * expandedEAPType = new eap_type_value_e(); - - // 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_automatic_variable_c automatic_expandedEAPType( + m_am_tools, + expandedEAPType); + + TInt error = CEapConversion::ConvertExpandedEAPTypeToInternalType( + m_enabled_tunneling_exp_eap_array[i], + expandedEAPType); + + if (error != KErrNone) + { EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); - return EAP_STATUS_RETURN(m_am_tools, status); - } + return EAP_STATUS_RETURN(m_am_tools, m_am_tools->convert_am_error_to_eapol_error(error)); + } + + automatic_expandedEAPType.do_not_free_variable(); // Add EAP-type to list. status = eap_type_list->add_object(expandedEAPType, true); @@ -6276,56 +6478,19 @@ EAP_TRACE_DEBUG( m_am_tools, TRACE_FLAGS_DEFAULT, - (EAPL("get_eap_type_list():added EAP-type=0x%08x=%s\n"), + (EAPL("get_eap_type_list():added EAP-type=0xfe%06x%08x=%s\n"), + expandedEAPType->get_vendor_id(), expandedEAPType->get_vendor_type(), - eap_string.get_eap_type_string(*expandedEAPType))); + eap_header_string_c::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); @@ -6333,6 +6498,7 @@ 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) { @@ -6371,19 +6537,10 @@ 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); @@ -6399,6 +6556,8 @@ 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); @@ -6628,73 +6787,74 @@ 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=%d \n"), - m_current_eap_vendor_type)); + 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())); TPtrC maxSessionTimeString; TPtrC lastFullAuthTimeString; - 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 (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); + } #if defined(USE_FAST_EAP_TYPE) - case eap_type_fast: - { - maxSessionTimeString.Set(cf_str_EAP_FAST_max_session_validity_time_literal); - lastFullAuthTimeString.Set(KFASTLastFullAuthTime); - } - break; + else if (m_current_eap_type == eap_type_fast) + { + maxSessionTimeString.Set(cf_str_EAP_FAST_max_session_validity_time_literal); + lastFullAuthTimeString.Set(KFASTLastFullAuthTime); + } #endif - - 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. - } - } + 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. + } 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"); - sqlStatement.Format(KSQLQuery, &maxSessionTimeString, &lastFullAuthTimeString, &m_db_table_name, - &KServiceType, m_index_type, - &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); + _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()); RDbView view; // Evaluate view @@ -6806,65 +6966,68 @@ 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=%d, current eap type=%d\n"), - m_index_type, m_index, m_tunneling_vendor_type, m_current_eap_vendor_type)); + (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())); TPtrC lastFullAuthTimeString; - 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: - { + 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()) + { lastFullAuthTimeString.Set( KTTLSPAPLastFullAuthTime ); - } - break; - + } #if defined(USE_FAST_EAP_TYPE) - case eap_type_fast: - { - lastFullAuthTimeString.Set(KFASTLastFullAuthTime); - } - break; + else if (m_current_eap_type == eap_type_fast) + { + lastFullAuthTimeString.Set(KFASTLastFullAuthTime); + } #endif - - 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); - } - } + 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); + } 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"); - sqlStatement.Format(KSQLQuery, &lastFullAuthTimeString, &m_db_table_name, - &KServiceType, m_index_type, - &KServiceIndex, m_index, &KTunnelingType, m_tunneling_vendor_type); + _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()); RDbView view; // Evaluate view @@ -6872,7 +7035,7 @@ CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); - // Get the first (and only) row for updation. + // Get the first (and only) row for update. view.FirstL(); view.UpdateL(); @@ -6989,8 +7152,8 @@ } #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( @@ -7046,7 +7209,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())); @@ -7073,7 +7236,7 @@ (A_IDPtr.Ptr()), (in_pac_attribute_A_ID->get_data_length()))); - if (A_ID_infoPtr.Size()>KMaxEapFastNotifierBufLength) + if (A_ID_infoPtr.Size()>=KMaxNotifItemLength) { CleanupStack::PopAndDestroy(3); // A_ID, A_ID_info status = m_am_tools->convert_am_error_to_eapol_error(KErrArgument); @@ -7081,41 +7244,42 @@ EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT); return EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status); } - - 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; - } + + 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; + } + + 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, @@ -7603,84 +7767,88 @@ } } - TInt count = 0; - - m_info_array.Reset(); + m_info_array.ResetAndDestroy(); 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())); - 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; - } + 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())); + } - 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++; + delete m_info_array[first_index]; + m_info_array.Remove(first_index); + + } // End: while @@ -7731,14 +7899,41 @@ if(iPacStoreDb->IsMasterKeyPresentL()) { - m_eap_fast_completion_status = ShowNotifierItemAndGetResponse( - EEapFastNotifierPacStorePwQuery, ETrue ); + 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); + + } else { m_state = EMasterkeyQuery; - m_eap_fast_completion_status = ShowNotifierItemAndGetResponse( - EEapFastNotifierCreateMasterkeyQuery, ETrue ); + 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); + } break; @@ -7802,7 +7997,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( - iPacStoreDb->GetSeed() ); + iPacStoreDeviceSeed ); if ( m_eap_fast_completion_status != eap_status_ok ) { EAP_TRACE_DEBUG_SYMBIAN( @@ -8048,9 +8243,21 @@ m_both_asked++; - m_eap_fast_completion_status = ShowNotifierItemAndGetResponse( - EEapFastNotifierPacFilePwQuery, ETrue ); - + 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); + if (m_eap_fast_completion_status != eap_status_ok) { (void) EAP_STATUS_RETURN(m_am_tools, m_eap_fast_completion_status); @@ -8076,9 +8283,14 @@ } // End: switch(pacStoreDataRefType) } } // for () + if (m_both_asked) + { m_eap_fast_completion_status = eap_status_pending_request; - m_info_array.Reset(); + } + + m_info_array.ResetAndDestroy(); + 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)); @@ -8278,18 +8490,10 @@ 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: { - //This is not saved anywhere. + //These are not saved anywhere. break; } case eap_pac_store_data_type_PAC_store_group_reference: @@ -8479,10 +8683,12 @@ 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 ); @@ -8555,21 +8761,32 @@ (_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, @@ -8595,7 +8812,7 @@ CleanupStack::PopAndDestroy(ref); CleanupStack::PopAndDestroy(buf); - } +} // --------------------------------------------------------- @@ -8603,8 +8820,7 @@ // --------------------------------------------------------- // void eap_am_type_tls_peap_symbian_c::ContinueInitializePacStore() - - { +{ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::ContinueInitializePacStore()"))); @@ -8638,7 +8854,7 @@ 0, 1); - } +} //-------------------------------------------------- @@ -8751,6 +8967,8 @@ 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() { @@ -8776,9 +8994,7 @@ //-------------------------------------------------- - -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 ) { @@ -8819,7 +9035,7 @@ } } // asynch. call, return immediately - iPacStoreDb->CreateDeviceSeedAsynch(); + CreateDeviceSeedAsync(); } else { @@ -8845,125 +9061,121 @@ // 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 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; - + + 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); + } + } + if ( pac_type == eap_fast_pac_type_tunnel_pac - && - 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 ); - } + && 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); + } + } 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 ) - { - 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 ) ); - } + && 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); + } + } + + + 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; - 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 ) + { + // 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 ) return status; - } +} #endif //#if defined(USE_FAST_EAP_TYPE) +//-------------------------------------------------- + #ifdef USE_PAC_STORE void eap_am_type_tls_peap_symbian_c::GetPacStoreDbDataL( @@ -9234,76 +9446,11 @@ //-------------------------------------------------- -#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; -} - +#ifdef USE_FAST_EAP_TYPE //-------------------------------------------------- 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; @@ -9367,10 +9514,12 @@ (_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"))); @@ -9465,25 +9614,39 @@ 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"))); @@ -9502,7 +9665,7 @@ directoryEmpty = false; - while( fileCounter < files->Count() || (!FileFound)) + while( fileCounter < files->Count()) { if (!((*files)[fileCounter].IsDir())) { @@ -9545,8 +9708,6 @@ 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); @@ -9556,23 +9717,44 @@ 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); @@ -9689,7 +9871,7 @@ this, KHandleCompletePacstoreNokTimerID, &m_eap_fast_completion_status, - 1); + 0); } else { @@ -9697,18 +9879,19 @@ this, KHandleCompletePacstoreOkTimerID, &m_eap_fast_completion_status, - 1); + 0); } } 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"))); @@ -9759,8 +9942,10 @@ { CleanupStack::PopAndDestroy(m_pacStorePWBuf8); - m_eap_fast_completion_status = ShowNotifierItemAndGetResponse( - EEapFastNotifierWrongPacStorePwNote, ETrue ); + TEapExpandedType aEapType(*EapExpandedTypeFast.GetType()); + + m_notifier_data_to_user->iPassword.Zero(); + return m_eap_fast_completion_status; } @@ -9789,8 +9974,33 @@ m_verificationStatus)); pacStorePWPtr8.Zero(); if (m_verificationStatus == EFalse) - m_eap_fast_completion_status = ShowNotifierItemAndGetResponse( - EEapFastNotifierPacStorePwQuery, ETrue ); + { + 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; + } + + + } else m_eap_fast_completion_status = m_partner->set_timer( this, @@ -9812,19 +10022,44 @@ } else // temporary before masterkey creation is done dynamically !!! { - m_eap_fast_completion_status = ShowNotifierItemAndGetResponse( - EEapFastNotifierCreateMasterkeyQuery, ETrue ); - - } + 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; + } + + + + } } 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"))); @@ -9897,10 +10132,12 @@ 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)) @@ -9920,7 +10157,8 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - eap_status_e status = m_tls_application->complete_read_PAC_store_data( + + 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); @@ -9938,7 +10176,8 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - eap_status_e status = m_tls_application->complete_read_PAC_store_data( + + 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); @@ -9953,7 +10192,8 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - eap_status_e status = m_tls_application->complete_read_PAC_store_data( + + 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); @@ -9970,7 +10210,8 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - eap_status_e status = m_tls_application->complete_read_PAC_store_data( + + 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); @@ -9997,7 +10238,8 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - eap_status_e status = m_tls_application->complete_read_PAC_store_data( + + 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); @@ -10015,7 +10257,8 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - eap_status_e status = m_tls_application->complete_read_PAC_store_data( + + 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); @@ -10030,7 +10273,8 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - eap_status_e status = m_tls_application->complete_read_PAC_store_data( + + 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); @@ -10047,7 +10291,8 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - eap_status_e status = m_tls_application->complete_read_PAC_store_data( + + 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); @@ -10075,7 +10320,8 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - eap_status_e status = m_tls_application->complete_read_PAC_store_data( + + 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); @@ -10093,7 +10339,8 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - eap_status_e status = m_tls_application->complete_read_PAC_store_data( + + 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); @@ -10108,7 +10355,8 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - eap_status_e status = m_tls_application->complete_read_PAC_store_data( + + 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); @@ -10125,7 +10373,8 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL:status nok"))); m_ready_references_and_data_blocks.reset(); - eap_status_e status = m_tls_application->complete_read_PAC_store_data( + + 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); @@ -10160,7 +10409,7 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("eap_am_type_tls_peap_symbian_c::FinalCompleteReadPACStoreDataL Reset Done"))); - eap_status_e status = m_tls_application->complete_read_PAC_store_data( + 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); @@ -10172,7 +10421,8 @@ m_eap_fast_completion_status = eap_status_user_cancel_authentication; m_new_references_and_data_blocks.reset(); m_ready_references_and_data_blocks.reset(); - eap_status_e status = m_tls_application->complete_read_PAC_store_data( + + 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); @@ -10185,7 +10435,8 @@ m_eap_fast_completion_status = eap_status_user_cancel_authentication; m_new_references_and_data_blocks.reset(); m_ready_references_and_data_blocks.reset(); - eap_status_e status = m_tls_application->complete_read_PAC_store_data( + + 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); @@ -10207,7 +10458,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( @@ -10269,122 +10520,48 @@ 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_DEBUG_SYMBIAN( - (_L("eap_am_type_tls_peap_symbian_c::ConvertUnicodeToAsciiL: Return: NOTHING TO CONVERT"))); - - return; - } - +{ + 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, 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: 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())); +} // --------------------------------------------------------- @@ -10392,7 +10569,7 @@ // --------------------------------------------------------- // void eap_am_type_tls_peap_symbian_c::CheckPasswordTimeValidityL() - { +{ /* Check validity of password against timelimit */ EAP_TRACE_DEBUG(m_am_tools, @@ -10405,14 +10582,22 @@ // 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" ); + + _LIT( KSqlQuery, "SELECT %S FROM %S WHERE %S=%d AND %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, - &KTunnelingType, m_tunneling_vendor_type ); + &KServiceType, + m_index_type, + &KServiceIndex, + m_index, + &KTunnelingTypeVendorId, + m_tunneling_type.get_vendor_id(), + &KTunnelingType, + m_tunneling_type.get_vendor_type()); + TRAPD( err, maxSessionTime = ReadIntDbValueL( m_database, cf_str_EAP_FAST_max_session_validity_time_literal, @@ -10586,7 +10771,7 @@ } } - } // eap_am_type_tls_peap_symbian_c::CheckPasswordTimeValidityL() +} // eap_am_type_tls_peap_symbian_c::CheckPasswordTimeValidityL() // --------------------------------------------------------- @@ -10599,7 +10784,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" ) ) ); @@ -10675,7 +10860,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() // --------------------------------------------------------- @@ -10683,7 +10868,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" ) ) ); @@ -10716,7 +10901,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() // --------------------------------------------------------- @@ -10724,7 +10909,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" ) ) ); @@ -10752,7 +10937,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() // --------------------------------------------------------- @@ -10763,7 +10948,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; @@ -10792,7 +10977,7 @@ CleanupStack::PopAndDestroy( &view ); // Close view. return retVal; - } // eap_am_type_tls_peap_symbian_c::ReadIntDbValueL +} // eap_am_type_tls_peap_symbian_c::ReadIntDbValueL // --------------------------------------------------------- @@ -10800,7 +10985,7 @@ // --------------------------------------------------------- // void eap_am_type_tls_peap_symbian_c::UpdatePasswordTimeL() - { +{ /* update last password time */ TPtrC lastFullPasswordTimeString; @@ -10851,7 +11036,7 @@ EAPL("UpdatePasswordTimeL - evaluate view\n"))); User::LeaveIfError(view.EvaluateAll()); - // Get the first (and only) row for updation. + // Get the first (and only) row. view.FirstL(); view.UpdateL(); @@ -10886,11 +11071,12 @@ /* 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); @@ -10898,7 +11084,8 @@ 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) @@ -10909,10 +11096,9 @@ // 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()" ); +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()" ))); TBool isValid = EFalse; TInt err = KErrNone; @@ -10921,8 +11107,7 @@ TRAP( err, isValid = IsTtlsPapSessionValidL() ); if ( err != KErrNone ) { - DEBUG1( "eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid() ERROR: \ - Leave, err==%d.", err ); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: eap_am_type_tls_peap_symbian_c::is_ttls_pap_session_valid(): Leave, err==%d."), err )); retVal = false; } else @@ -10930,48 +11115,140 @@ 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 ) - { - 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" ); - } +{ + 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); + } + } + return status; - } +} // ================= TTLS-PAP public not exported ======================= @@ -10979,14 +11256,13 @@ // 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*/ ) - { - DEBUG( "eap_am_type_tls_peap_symbian_c::verify_ttls_pap_username_and_password()" ); +{ + EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::verify_ttls_pap_username_and_password()" ))); return eap_status_not_supported; - } +} // ================= TTLS-PAP public new ======================= @@ -10994,13 +11270,12 @@ // 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 ) - { - DEBUG( "eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword()" ); +{ + EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword()" ))); eap_status_e retStatus = aStatus; eap_status_e tmpStatus = eap_status_ok; @@ -11022,15 +11297,14 @@ } if ( m_tls_am_partner == NULL ) { - DEBUG( "eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword() \ - ERROR: m_tls_am_partner is NULL." ); + EAP_TRACE_DEBUG_SYMBIAN((_L( "ERROR: eap_am_type_tls_peap_symbian_c::CompleteQueryTtlsPapUserNameAndPassword(): 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( // ------------------------------------------------------------------------ @@ -11039,14 +11313,14 @@ // eap_status_e eap_am_type_tls_peap_symbian_c::ConvertAmErrorToEapolError( TInt aErr ) - { - DEBUG( "eap_am_type_tls_peap_symbian_c::ConvertAmErrorToEapolError()" ); +{ + EAP_TRACE_DEBUG_SYMBIAN((_L( "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; - } +} // ------------------------------------------------------------------------ @@ -11060,8 +11334,8 @@ //| EAP_TLS_PEAP_ttls_pap_last_full_authentication_time | BIGINT | KTTLSPAPLastFullAuthTime |// void eap_am_type_tls_peap_symbian_c::ReadTtlsPapDbL( TTtlsPapDbInfo& aOutDbInfo ) - { - DEBUG( "eap_am_type_tls_peap_symbian_c::ReadTtlsPapDbL()" ); +{ + EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::ReadTtlsPapDbL()" ))); HBufC* buf = HBufC::NewLC( KMaxSqlQueryLength ); TPtr sqlStatement = buf->Des(); @@ -11098,12 +11372,35 @@ // columns reading aOutDbInfo.iUsrPwdInfo.iPasswordPromptEnabled = view.ColUint( colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ) ); - - 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 ) ); + + { + 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.iMaxSessionTime = view.ColInt64( colSet->ColNo( cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time_literal ) ); @@ -11116,7 +11413,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() // ------------------------------------------------------------------------ @@ -11130,8 +11427,8 @@ //| EAP_TLS_PEAP_ttls_pap_last_full_authentication_time | BIGINT | KTTLSPAPLastFullAuthTime |// void eap_am_type_tls_peap_symbian_c::WriteTtlsPapDbL( const TTtlsPapDbInfo& aInDbInfo ) - { - DEBUG( "eap_am_type_tls_peap_symbian_c::WriteTtlsPapDbL()" ); +{ + EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::WriteTtlsPapDbL()" ))); HBufC* buf = HBufC::NewLC( KMaxSqlQueryLength ); @@ -11139,17 +11436,24 @@ // Query all the relevant parameters _LIT( KSQLQuery, - "SELECT %S, %S, %S, %S, %S FROM %S WHERE %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 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, // where %S=%d - &KServiceIndex, m_index, // where %S=%d - &KTunnelingType, m_tunneling_vendor_type ); // where %S=%d + &KServiceType, + m_index_type, + &KServiceIndex, + m_index, + &KTunnelingTypeVendorId, + m_tunneling_type.get_vendor_id(), + &KTunnelingType, + m_tunneling_type.get_vendor_type()); RDbView view; // Evaluate view @@ -11171,10 +11475,24 @@ 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 ); @@ -11195,7 +11513,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() // ------------------------------------------------------------------------ @@ -11203,21 +11521,28 @@ // ------------------------------------------------------------------------ // void eap_am_type_tls_peap_symbian_c::SetTtlsPapColumnToNullL( const TDesC& aColName ) - { - DEBUG( "eap_am_type_tls_peap_symbian_c::SetColumnNullL()" ); +{ + EAP_TRACE_DEBUG_SYMBIAN((_L( "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" ); - sqlStatement.Format( KSQLQuery, + "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d" ); + + sqlStatement.Format( + KSQLQuery, &aColName, // select´ &KTtlsDatabaseTableName, // from - &KServiceType, m_index_type, // where %S=%d - &KServiceIndex, m_index, // where %S=%d - &KTunnelingType, m_tunneling_vendor_type ); // where %S=%d + &KServiceType, + m_index_type, + &KServiceIndex, + m_index, + &KTunnelingTypeVendorId, + m_tunneling_type.get_vendor_id(), + &KTunnelingType, + m_tunneling_type.get_vendor_type()); RDbView view; // Evaluate view @@ -11245,7 +11570,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 ======================= @@ -11255,8 +11580,8 @@ // ------------------------------------------------------------------------ // TBool eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL() - { - DEBUG( "eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL()" ); +{ + EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL()" ))); TTtlsPapDbInfo dbInfo; TInt err = KErrNone; @@ -11266,8 +11591,7 @@ if ( err != KErrNone ) { - DEBUG1( "eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL() ERROR: \ - Leave happened, err=%d.", err ); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL(): Leave happened, err=%d."), err )); retValue = EFalse; } else @@ -11278,8 +11602,7 @@ // one read from configuration file. if( dbInfo.iMaxSessionTime == 0 ) { - DEBUG( "eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL() \ - Using max TTLS PAP session validity time from config file." ); + EAP_TRACE_DEBUG_SYMBIAN((_L( "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; @@ -11290,7 +11613,7 @@ } } return retValue; - } // eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL() +} // eap_am_type_tls_peap_symbian_c::IsTtlsPapSessionValidL() // ------------------------------------------------------------------------ @@ -11300,8 +11623,8 @@ TBool eap_am_type_tls_peap_symbian_c::CheckTtlsPapSessionValidity( const TInt64& aInMaxSessionTime, const TInt64& aInLastFullAuthTime ) - { - DEBUG( "eap_am_type_tls_peap_symbian_c::CheckTtlsPapSessionValidity()" ); +{ + EAP_TRACE_DEBUG_SYMBIAN((_L( "eap_am_type_tls_peap_symbian_c::CheckTtlsPapSessionValidity()" ))); // Get the current time. TTime currentTime; @@ -11371,7 +11694,93 @@ return EFalse; } - } // eap_am_type_tls_peap_symbian_c::CheckTtlsPapSessionValidity - +} // 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 +//-------------------------------------------------- // End of file. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeap.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,21 +16,23 @@ */ /* -* %version: 17.1.2 % +* %version: 27 % */ #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 CEapType +class CEapTlsPeap : public CEapTypePlugin { public: @@ -120,16 +122,13 @@ #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* GetInfoLC(); + CEapTypeInfo* GetInfoL(); /** * Deletes EAP type configuration @@ -151,7 +150,7 @@ * EAP type. * @param aTunnelingType Type number for the tunneling type */ - void SetTunnelingType(const TInt aTunnelingType); + void SetTunnelingType(const TEapExpandedType aTunnelingType); /** * Changes the index of the saved parameters. @@ -186,7 +185,12 @@ * 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 @@ -213,6 +217,16 @@ // 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapCertFetcher.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13.1.2 % +* %version: % */ #ifndef _EAPTLSPEAPCERTFETCHER_H_ @@ -29,14 +29,16 @@ #include "EapTlsPeapUtils.h" -class CEapTlsPeapUiCertificates; +class CAbsEapCertificateFetcher; // CLASS DECLARATION class CEapTlsPeapCertFetcher : public CActive { + public: - static CEapTlsPeapCertFetcher* NewL(CEapTlsPeapUiCertificates* const aParent); + + static CEapTlsPeapCertFetcher* NewL(CAbsEapCertificateFetcher* const aParent); virtual ~CEapTlsPeapCertFetcher(); @@ -44,11 +46,11 @@ // DON'T USE THESE. ONLY USED FOR EapTlsPeapUtils. static CEapTlsPeapCertFetcher* NewL(); - void GetSymbianSubjectKeyIdL( TDes8& aSubjectKeyId, CertificateEntry aCertEntry ); + void GetSymbianSubjectKeyIdL( TDes8& aSubjectKeyId, EapCertificateEntry aCertEntry ); protected: - CEapTlsPeapCertFetcher(CEapTlsPeapUiCertificates* const aParent); + CEapTlsPeapCertFetcher(CAbsEapCertificateFetcher* const aParent); void ConstructL(); @@ -61,19 +63,23 @@ // 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; - CEapTlsPeapUiCertificates* const iParent; + CAbsEapCertificateFetcher* const iParent; RMPointerArray iCertInfos; @@ -83,16 +89,15 @@ CCertAttributeFilter* iCertFilter; - RArray iUserCerts; - - RArray iCACerts; + RPointerArray iUserCerts; - // For wrapping asynchronous calls. - CActiveSchedulerWait iWait; - + RPointerArray iCACerts; + HBufC8* iEncodedCertificate; TPtr8 iCertPtr; + TCertificateOwnerType iOwnertype; + TInt iCertInfoIndex; }; diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapDbDefaults.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,82 +16,19 @@ */ /* -* %version: 39 % +* %version: 36.1.8 % */ #if !defined(_EAPTLSPEAPDBDEFAULTS_H_) #define _EAPTLSPEAPDBDEFAULTS_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 +#include "EapPluginDbDefaults.h" +#include "tls_peap_types.h" // LOCAL CONSTANTS -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_realm = EEapDbFalse; -const TInt default_EAP_TLS_PEAP_use_manual_username = ETLSPEAPUseManualUsernameNo; -_LIT(default_EAP_TLS_PEAP_manual_username, ""); +const TInt default_EAP_TLS_PEAP_use_manual_username = EEapDbFalse; const TInt default_EAP_TLS_PEAP_cipher_suite = tls_cipher_suites_TLS_RSA_WITH_3DES_EDE_CBC_SHA; @@ -103,23 +40,22 @@ const TInt default_EAP_TLS_server_authenticates_client = 1; const TInt default_EAP_PEAP_TTLS_server_authenticates_client = 0; -_LIT(default_CA_cert_label, "rsaca.eapsim.foo"); -_LIT(default_client_cert_label, "rsaclient@eapsim.foo"); +_LIT(default_CA_cert_label, ""); +_LIT(default_client_cert_label, ""); const TInt default_EAP_TLS_PEAP_verify_certificate_realm = 0; -const TUint default_EAP_TLS_PEAP_TLS_Privacy = ETLSPEAPTLSPrivacyNo; +const TUint default_EAP_TLS_PEAP_TTLS_Privacy = EEapDbFalse; -const TInt64 default_MaxSessionTime = 0; // 0 means read from configuration file. -const TInt64 default_FullAuthTime = 0; +const TUint default_EAP_TLS_PEAP_use_automatic_ca_certificate = EEapDbTrue; // Defaults for EAP-FAST specific items #ifdef USE_FAST_EAP_TYPE -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 +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 #endif //#ifdef USE_FAST_EAP_TYPE // Add here the cipher suites you want to be allowed by default. Note that the last @@ -146,8 +82,6 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapDbParameterNames.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 23 % +* %version: 20.1.4 % */ #if !defined(_EAPTLAPEAPDBPARAMETERNAMES_H_) @@ -28,8 +28,9 @@ _LIT(KServiceType, "ServiceType"); _LIT(KServiceIndex, "ServiceIndex"); +_LIT(KTunnelingTypeVendorId, "TunnelingTypeVendorId"); _LIT(KTunnelingType, "TunnelingType"); -_LIT(KCACertLabelOld, "CA_cert_label"); +_LIT(KCACertLabel, "CA_cert_label"); _LIT(KClientCertLabel, "client_cert_label"); _LIT(KCertLabel, "label"); _LIT(KCipherSuite, "cipher_suite"); diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapGlobal.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8 % +* %version: % */ #ifndef _EAPTLSPEAPGLOBAL_H_ @@ -27,9 +27,9 @@ // LOCAL CONSTANTS -_LIT(KReleaseDate, "20040829:"); +_LIT(KReleaseDate, ""); _LIT(KEapTypeVersion, "1.0"); -_LIT(KManufacturer, "Nokia"); +_LIT(KManufacturer, ""); _LIT(KNokiaSignature, ""); _LIT(KExtraInfo1, ""); _LIT(KExtraInfo2, ""); diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/inc/EapTlsPeapUtils.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 22.1.2 % +* %version: 37 % */ #ifndef _EAPTLSPEAPUTILS_H_ @@ -26,58 +26,24 @@ #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 -#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 +// 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 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(KTlsDatabaseName, "eaptls.dat"); +_LIT(KPeapDatabaseName, "eappeap.dat"); +_LIT(KTtlsDatabaseName, "eapttls.dat"); +_LIT(KFastDatabaseName, "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"); @@ -106,18 +72,20 @@ enum TAlterTableCmd { -EAddColumn, -ERemoveColumn + EAddColumn, + ERemoveColumn }; // CLASS DECLARATION class EapTlsPeapUtils { + public: + static void OpenDatabaseL( - RDbNamedDatabase& aDatabase, - RDbs& aSession, - const TIndexType aIndexType, + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, + const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType, eap_type_value_e aEapType); @@ -174,7 +142,7 @@ const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType, - RArray& aArray); + RPointerArray& aArray); static void ReadUintRowsToArrayL( RDbNamedDatabase& aDatabase, @@ -186,14 +154,12 @@ 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, - RExpandedEapTypePtrArray &aEnabledEAPArrary, - RExpandedEapTypePtrArray &aDisabledEAPArrary, + RPointerArray &aEnabledEAPArrary, + RPointerArray &aDisabledEAPArrary, const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType, @@ -203,42 +169,18 @@ static void GetTunnelingExpandedEapDataL( RDbNamedDatabase& aDatabase, eap_am_tools_symbian_c * const aTools, - RExpandedEapTypePtrArray &aEnabledEAPArrary, - RExpandedEapTypePtrArray &aDisabledEAPArrary, + RPointerArray &aEnabledEAPArrary, + RPointerArray &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 SCertEntry& item1, const SCertEntry& item2); + static TBool CompareSCertEntries(const EapCertificateEntry& item1, const EapCertificateEntry& item2); static TBool CipherSuiteUseRSAKeys(tls_cipher_suites_e aCipherSuite); @@ -265,35 +207,38 @@ const eap_variable_data_c * const aDbColumnValue); private: + static void OpenTlsDatabaseL( - RDbNamedDatabase& aDatabase, - RDbs& aSession, - const TIndexType aIndexType, + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, + const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); static void OpenPeapDatabaseL( - RDbNamedDatabase& aDatabase, - RDbs& aSession, - const TIndexType aIndexType, + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, + const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); #if defined(USE_TTLS_EAP_TYPE) + static void OpenTtlsDatabaseL( - RDbNamedDatabase& aDatabase, - RDbs& aSession, - const TIndexType aIndexType, + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, + 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, - RDbs& aSession, - const TIndexType aIndexType, + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, + const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType); @@ -303,6 +248,10 @@ RDbNamedDatabase& aDatabase, TDesC& aTableName); + static TInt FilterEapMethods( + RPointerArray * const aEAPTypes, + RPointerArray * const aPlugins); + private: static void AlterTableL( @@ -311,7 +260,6 @@ const TDesC& aTableName, const TDesC& aColumnName, const TDesC& aColumnDef ); - }; #endif // _EAPTLSPEAPUTILS_H_ diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/101f8e4c.rss Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 22 % +* %version: 19.1.2 % */ // INCLUDES diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeap.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 35.1.3 % +* %version: 67 % */ // This is enumeration of EAPOL source code. @@ -35,31 +35,26 @@ #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 "eap_am_trace_symbian.h" +#include "EapTraceSymbian.h" +#include "EapConversion.h" +#include "EapExpandedType.h" #ifdef USE_PAC_STORE #include "pac_store_db_symbian.h" #endif -#include +#include "eapol_key_types.h" // LOCAL CONSTANTS @@ -67,6 +62,10 @@ // 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 ======================= @@ -78,14 +77,77 @@ , 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; + } -#ifdef USE_EAP_EXPANDED_TYPES +#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); - ASSERT(iEapType.get_vendor_id() == eap_type_vendor_id_ietf); - ASSERT(iTunnelingType.get_vendor_id() == eap_type_vendor_id_ietf); + 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; + } -#endif //#ifdef USE_EAP_EXPANDED_TYPES + 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); } @@ -93,6 +155,9 @@ 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); } @@ -100,6 +165,9 @@ 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); } @@ -109,6 +177,9 @@ 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); } @@ -124,8 +195,11 @@ 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_type_ttls_plain_pap ); + aIapInfo->indexType, aIapInfo->index, eap_expanded_type_ttls_plain_pap.get_type() ); } @@ -135,6 +209,9 @@ 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); } @@ -144,9 +221,187 @@ 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 @@ -166,19 +421,12 @@ #endif // #ifdef USE_EAP_SIMPLE_CONFIG { -#ifdef USE_EAP_EXPANDED_TYPES - + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::GetStackInterfaceL()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::GetStackInterfaceL()\n")); + 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; @@ -385,107 +633,15 @@ } // ---------------------------------------------------------- -TInt CEapTlsPeap::InvokeUiL() -{ - 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 +CEapTypeInfo* CEapTlsPeap::GetInfoL() +{ + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::GetInfoL()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::GetInfoL()\n")); -#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; } @@ -493,17 +649,11 @@ void CEapTlsPeap::DeleteConfigurationL() { -#ifdef USE_EAP_EXPANDED_TYPES - + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::DeleteConfigurationL()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::DeleteConfigurationL()\n")); + 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)); @@ -519,7 +669,7 @@ || iEapType == eap_type_fast #endif - || iEapType == eap_type_ttls_plain_pap + || iEapType == eap_expanded_type_ttls_plain_pap.get_type() ) @@ -529,14 +679,14 @@ for (TInt i = 0; i < iEapArray.Count(); i++) { - if ((iEapType == eap_type_peap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) - || (iEapType == eap_type_ttls && !CEapType::IsDisallowedInsideTTLS(*iEapArray[i])) + if ((iEapType == eap_type_peap && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_type_ttls && !CEapTypePlugin::IsDisallowedInsideTTLS(*iEapArray[i])) #ifdef USE_FAST_EAP_TYPE - || (iEapType == eap_type_fast && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_type_fast && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) #endif - || (iEapType == eap_type_ttls_plain_pap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_expanded_type_ttls_plain_pap.get_type() && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) ) @@ -546,16 +696,14 @@ EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::DeleteConfigurationL: Deleting encapsulated types for EAP type=%d"), aEapVendorType)); - CEapType* eapType; + CEapTypePlugin* eapType; -#ifdef USE_EAP_EXPANDED_TYPES - - TBuf8 expandedCue = iEapArray[i]->DataType(); + TEapExpandedType expandedCue = iEapArray[i]->DataType(); EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeap::DeleteConfigurationL: Expanded cue:", - expandedCue.Ptr(), expandedCue.Size())); + expandedCue.GetValue().Ptr(), expandedCue.GetValue().Size())); - eapType = CEapType::NewL(expandedCue, iIndexType, iIndex); + eapType = CEapTypePlugin::NewL(expandedCue.GetValue(), iIndexType, iIndex); if(eapType == NULL) { @@ -563,7 +711,14 @@ User::Leave(KErrNotFound); } - eapType->SetTunnelingType(iEapType.get_vendor_type()); +// eapType->SetTunnelingType(iEapType.get_vendor_type()); + TEapExpandedType aExpandedType; + + TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType( + &iEapType, + &aExpandedType); + + eapType->SetTunnelingType(aExpandedType); #ifdef USE_FAST_EAP_TYPE @@ -594,29 +749,7 @@ } #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(...)"))); @@ -639,41 +772,43 @@ 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 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); +void CEapTlsPeap::SetTunnelingType(const TEapExpandedType aTunnelingType) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::SetTunnelingType()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::SetTunnelingType()\n")); -#else - - iTunnelingType = static_cast(aTunnelingType); - -#endif //#ifdef USE_EAP_EXPANDED_TYPES -} + 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; + } // ---------------------------------------------------------- + void CEapTlsPeap::SetIndexL( const TIndexType aIndexType, const TInt aIndex) { -#ifdef USE_EAP_EXPANDED_TYPES - + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::SetIndexL()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::SetIndexL()\n")); + 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)); @@ -698,13 +833,16 @@ RDbNamedDatabase db; - RDbs session; + RFs session; + + 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); - - CleanupClosePushL(session); - CleanupClosePushL(db); - + TPtrC settings; TPtrC usercerts; TPtrC cacerts; @@ -714,68 +852,49 @@ TPtrC fastSpecialSettings; #endif -#ifdef USE_EAP_EXPANDED_TYPES - - switch (iEapType.get_vendor_type()) - -#else - - switch (iEapType) - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + if (iEapType == eap_type_tls) { - 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; - + 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) - case eap_type_ttls: - { - settings.Set(KTtlsDatabaseTableName); - usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); - cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); - ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); - } - break; + else if (iEapType == eap_type_ttls) + { + settings.Set(KTtlsDatabaseTableName); + usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); + } #endif - #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); - } - break; + 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); + } #endif - - case eap_type_ttls_plain_pap: - { - settings.Set(KTtlsDatabaseTableName); - usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); - cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); - ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); - } - break; - - default: + else if (iEapType == eap_expanded_type_ttls_plain_pap.get_type()) + { + settings.Set(KTtlsDatabaseTableName); + usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); + } + else + { // Should never happen User::Leave(KErrArgument); } @@ -861,7 +980,10 @@ #endif // End: #ifdef USE_FAST_EAP_TYPE db.Close(); - CleanupStack::PopAndDestroy(2); // db, session. + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&session); //////// Encapsulated types @@ -872,7 +994,7 @@ || iEapType == eap_type_fast #endif - || iEapType == eap_type_ttls_plain_pap + || iEapType == eap_expanded_type_ttls_plain_pap.get_type() ) @@ -882,14 +1004,14 @@ for (TInt i = 0; i < iEapArray.Count(); i++) { - if ((iEapType == eap_type_peap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) - || (iEapType == eap_type_ttls && !CEapType::IsDisallowedInsideTTLS(*iEapArray[i])) + if ((iEapType == eap_type_peap && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_type_ttls && !CEapTypePlugin::IsDisallowedInsideTTLS(*iEapArray[i])) #ifdef USE_FAST_EAP_TYPE - || (iEapType == eap_type_fast && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_type_fast && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) #endif - || (iEapType == eap_type_ttls_plain_pap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_expanded_type_ttls_plain_pap.get_type() && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) ) @@ -900,16 +1022,14 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("EapTlsPeapUtils::SetIndexL - Setting the index to encapsulated EAP types\n"))); - CEapType* eapType; + CEapTypePlugin* eapType; -#ifdef USE_EAP_EXPANDED_TYPES - - TBuf8 expandedCue = iEapArray[i]->DataType(); + TEapExpandedType expandedCue = iEapArray[i]->DataType(); EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeap::SetIndexL: Expanded cue:", - expandedCue.Ptr(), expandedCue.Size())); + expandedCue.GetValue().Ptr(), expandedCue.GetValue().Size())); - eapType = CEapType::NewL(expandedCue, iIndexType, iIndex); + eapType = CEapTypePlugin::NewL(expandedCue.GetValue(), iIndexType, iIndex); if(eapType == NULL) { @@ -917,17 +1037,14 @@ User::Leave(KErrNotFound); } - eapType->SetTunnelingType(iEapType.get_vendor_type()); + TEapExpandedType aExpandedType; + + eap_type_value_e value = iEapType;//.get_vendor_type(); + TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType( + &value, + &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 + eapType->SetTunnelingType(aExpandedType); CleanupStack::PushL(eapType); @@ -947,17 +1064,25 @@ (_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; - RDbs session; - + RFs session; + + 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); - - CleanupClosePushL(session); - CleanupClosePushL(db); EapTlsPeapUtils::SetConfigurationL( db, @@ -967,20 +1092,32 @@ iTunnelingType, iEapType); - CleanupStack::PopAndDestroy(2); // db, session + db.Close(); + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&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; - RDbs session; - - // This also creates the IAP entry if it doesn't exist - EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType); + RFs session; 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, @@ -991,24 +1128,23 @@ iEapType); db.Close(); - CleanupStack::PopAndDestroy(2); // db, session + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&session); } +// ---------------------------------------------------------- + void CEapTlsPeap::CopySettingsL( const TIndexType aDestinationIndexType, const TInt aDestinationIndex) { -#ifdef USE_EAP_EXPANDED_TYPES - + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeap::CopySettingsL()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeap::CopySettingsL()\n")); + 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)); @@ -1029,13 +1165,16 @@ RDbNamedDatabase db; - RDbs session; - - EapTlsPeapUtils::OpenDatabaseL(db, session, iIndexType, iIndex, iTunnelingType, iEapType); + RFs session; 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; @@ -1045,68 +1184,49 @@ TPtrC fastSpecialSettings; #endif -#ifdef USE_EAP_EXPANDED_TYPES - - switch (iEapType.get_vendor_type()) - -#else - - switch (iEapType) - -#endif //#ifdef USE_EAP_EXPANDED_TYPES + if (iEapType == eap_type_tls) { - 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; - + 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) - case eap_type_ttls: - { - settings.Set(KTtlsDatabaseTableName); - usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); - cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); - ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); - } - break; + else if (iEapType == eap_type_ttls) + { + settings.Set(KTtlsDatabaseTableName); + usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); + } #endif - - case eap_type_ttls_plain_pap: - { - settings.Set(KTtlsDatabaseTableName); - usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); - cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); - ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); - } - break; - + else if (iEapType == eap_expanded_type_ttls_plain_pap.get_type()) + { + settings.Set(KTtlsDatabaseTableName); + usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); + } #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); - } - break; + 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); + } #endif - - default: + else + { // Should never happen User::Leave(KErrArgument); } @@ -1192,7 +1312,10 @@ #endif // End: #ifdef USE_FAST_EAP_TYPE db.Close(); - CleanupStack::PopAndDestroy(2); // db, session + session.Close(); + + CleanupStack::PopAndDestroy(&db); + CleanupStack::PopAndDestroy(&session); //////// Copy Encapsulated types @@ -1204,7 +1327,7 @@ || iEapType == eap_type_fast #endif - || iEapType == eap_type_ttls_plain_pap + || iEapType == eap_expanded_type_ttls_plain_pap.get_type() ) @@ -1217,29 +1340,27 @@ for (TInt i = 0; i < iEapArray.Count(); i++) { - if ((iEapType == eap_type_peap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) - || (iEapType == eap_type_ttls && !CEapType::IsDisallowedInsideTTLS(*iEapArray[i])) + if ((iEapType == eap_type_peap && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_type_ttls && !CEapTypePlugin::IsDisallowedInsideTTLS(*iEapArray[i])) #ifdef USE_FAST_EAP_TYPE - || (iEapType == eap_type_fast && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_type_fast && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) #endif - || (iEapType == eap_type_ttls_plain_pap && !CEapType::IsDisallowedInsidePEAP(*iEapArray[i])) + || (iEapType == eap_expanded_type_ttls_plain_pap.get_type() && !CEapTypePlugin::IsDisallowedInsidePEAP(*iEapArray[i])) ) { // Copying the settings of encapsulated EAP type configurations possible inside PEAP and TTLS. - CEapType* eapType; + CEapTypePlugin* eapType; -#ifdef USE_EAP_EXPANDED_TYPES - - TBuf8 expandedCue = iEapArray[i]->DataType(); + TEapExpandedType expandedCue = iEapArray[i]->DataType(); EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeap::CopySettingsL: Expanded cue:", - expandedCue.Ptr(), expandedCue.Size())); + expandedCue.GetValue().Ptr(), expandedCue.GetValue().Size())); - eapType = CEapType::NewL(expandedCue, iIndexType, iIndex); + eapType = CEapTypePlugin::NewL(expandedCue.GetValue(), iIndexType, iIndex); if(eapType == NULL) { @@ -1247,18 +1368,16 @@ User::Leave(KErrNotFound); } - eapType->SetTunnelingType(iEapType.get_vendor_type()); + TEapExpandedType aExpandedType; + + TInt err = CEapConversion::ConvertInternalTypeToExpandedEAPType( + &iEapType, + &aExpandedType); -#else // For normal EAP types. - - TBuf8<3> cue = iEapArray[i]->DataType(); - - eapType = CEapType::NewL(cue, iIndexType, iIndex); - - eapType->SetTunnelingType(iEapType); + eapType->SetTunnelingType(aExpandedType); -#endif //#ifdef USE_EAP_EXPANDED_TYPES - + //eapType->SetTunnelingType(iEapType.get_vendor_type()); + CleanupStack::PushL(eapType); eapType->CopySettingsL(aDestinationIndexType, aDestinationIndex); @@ -1276,12 +1395,17 @@ } +// ---------------------------------------------------------- + #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"))); @@ -1310,10 +1434,11 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("CEapTlsPeap::UpdatePacStoreCleanupTableL: End"))); - User::Leave(KErrNone); + } #endif // #ifdef USE_PAC_STORE +// ---------------------------------------------------------- // End of file diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapCertFetcher.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 31 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -32,7 +32,8 @@ #include "EapTlsPeapCertFetcher.h" #include -#include "eap_am_trace_symbian.h" +#include +#include #include #include @@ -41,8 +42,11 @@ // ================= MEMBER FUNCTIONS ======================= -CEapTlsPeapCertFetcher* CEapTlsPeapCertFetcher::NewL(CEapTlsPeapUiCertificates* const aParent) +CEapTlsPeapCertFetcher* CEapTlsPeapCertFetcher::NewL(CAbsEapCertificateFetcher* 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(); @@ -55,6 +59,9 @@ // 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); @@ -83,12 +90,18 @@ //-------------------------------------------------- -CEapTlsPeapCertFetcher::CEapTlsPeapCertFetcher(CEapTlsPeapUiCertificates* const aParent) +CEapTlsPeapCertFetcher::CEapTlsPeapCertFetcher(CAbsEapCertificateFetcher* 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")); + } //-------------------------------------------------- @@ -96,16 +109,25 @@ // 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); @@ -119,6 +141,9 @@ 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++) { @@ -126,16 +151,19 @@ } iCertInfos.Reset(); - iCACerts.Reset(); + iCACerts.ResetAndDestroy(); - iUserCerts.Reset(); - + iUserCerts.ResetAndDestroy(); + delete iCertFilter; - + iCertFilter = 0; + delete iCertStore; - - delete iEncodedCertificate; - + iCertStore = 0; + + delete iEncodedCertificate; + iEncodedCertificate = 0; + iFs.Close(); if(IsActive()) @@ -148,6 +176,13 @@ 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) { @@ -162,149 +197,145 @@ 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)); - 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); + 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); // This causes panic if leaves if (iStatus.Int() != KErrNone) { -RDebug::Print(_L("CEapTlsPeapCertFetcher::RunL() -- don't leave...")); + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL() -- don't leave..."))); } switch (iState) { case EGetCertificatesInitStore: { - // 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); + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapCertFetcher::RunL(): - EGetCertificatesInitStore\n"))); - iState = EGetCertificatesGetCertList; - iCertStore->List( - iCertInfos, - *iCertFilter, - iStatus); - SetActive(); + // First get the User certificates. + iOwnertype = EUserCertificate; + InitializeQuery(); } break; - case EGetCertificatesGetCertList: + case EGetCertificatesRetrieveCert: { - 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("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; + + if ( iStatus.Int() == KErrNone ) { - 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) + switch ( CertInfo->CertificateFormat() ) { - EAP_TRACE_DEBUG_SYMBIAN((_L("\nCEapTlsPeapCertFetcher::RunL() - EGetCertificatesGetCertList - leave from iEncodedCertificate->ReAllocL Error:%d\n"), err ) ); - } - iCertPtr.Set(iEncodedCertificate->Des()); - - 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; + 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 ) ); - 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() ) ); - } + 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( cert == NULL ) - { - // Some problem above. Skip the below and go for the next certificate. - continue; - } + if( cert != NULL ) + { + HBufC* pri = NULL; + HBufC* sec = NULL; - HBufC* pri = NULL; - HBufC* sec = NULL; - - CleanupStack::PushL( cert ); + CleanupStack::PushL(cert); - X509CertNameParser::PrimaryAndSecondaryNameL( *((CX509Certificate*)cert), pri, sec, CertInfo->Label()); + X509CertNameParser::PrimaryAndSecondaryNameL( *((CX509Certificate*)cert), pri, sec, CertInfo->Label()); - CleanupStack::PopAndDestroy(); // cert + CleanupStack::PopAndDestroy(cert); + + CleanupStack::PushL(pri); + CleanupStack::PushL(sec); + 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() ) ); @@ -312,45 +343,120 @@ EAP_TRACE_DATA_DEBUG_SYMBIAN( ( "CEapTlsPeapCertFetcher::RunL() - Sub Key Id:", (CertInfo->SubjectKeyId().Ptr()), (CertInfo->SubjectKeyId().Size()) ) ); - SCertEntry certEntry; - - certEntry.iLabel.Copy(iCertInfos[i]->Label()); - certEntry.iSubjectKeyId.Copy(iCertInfos[i]->SubjectKeyId()); - + EapCertificateEntry * const certEntry = new EapCertificateEntry; + if (certEntry == 0) + { + User::Leave(KErrNoMemory); + } + CleanupStack::PushL(certEntry); + + certEntry->SetLabel(CertInfo->Label()); + certEntry->SetSubjectKeyId(CertInfo->SubjectKeyId()); + // Copy the new fields. Primary and secondary name. - certEntry.iPrimaryName.Copy( pri->Des().Left(KMaxNameLength ) ); - certEntry.iSecondaryName.Copy( sec->Des().Left(KMaxNameLength ) ); - - delete pri; - delete sec; - - if (iCertInfos[i]->CertificateOwnerType() == ECACertificate) + 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) { - iCACerts.Append(certEntry); + 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); + } + else + { + CleanupStack::PopAndDestroy(certEntry); } - else if (iCertInfos[i]->CertificateOwnerType() == EUserCertificate) + + CleanupStack::PopAndDestroy(sec); + CleanupStack::PopAndDestroy(pri); + + } + + ++iCertInfoIndex; + } + + // Here MUST NOT be break. State EGetCertificatesGetCertList is run after the state EGetCertificatesRetrieveCert. + + 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) { - iUserCerts.Append(certEntry); - } - } - delete iCertFilter; - iCertFilter = 0; + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapCertFetcher::RunL() - EGetCertificatesGetCertList - leave from iEncodedCertificate->ReAllocL Error:%d\n"), error ) ); + } + iCertPtr.Set(iEncodedCertificate->Des()); - // Delete iCertInfos - for (TInt i = 0; i < iCertInfos.Count(); i++) + EAP_TRACE_DEBUG_SYMBIAN((_L("\nCEapTlsPeapCertFetcher::RunL() - EGetCertificatesGetCertList - Retreiving cert %d\n"), iCertInfoIndex ) ); + + iState = EGetCertificatesRetrieveCert; + + iCertStore->Retrieve( *CertInfo, iCertPtr, iStatus); + + SetActive(); + } + else if (iOwnertype == EUserCertificate) + { + // Next get the CA certificates. + iOwnertype = ECACertificate; + InitializeQuery(); + return; + } + else { - iCertInfos[i]->Release(); + 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapProxy.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 17 % +* %version: 14.1.2 % */ // This is enumeration of EAPOL source code. diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiCertificates.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 18.1.2 % +* %version: 52 % */ // This is enumeration of EAPOL source code. @@ -28,22 +28,24 @@ #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 "EapTlsPeapCertFetcher.h" +#include #include -#include "eap_am_trace_symbian.h" +#include +#include "EapConversion.h" +#include #include #include -const TUint KMaxSqlQueryLength = 256; const TUint KCertArrayGranularity = 16; +// ---------------------------------------------------------- + CEapTlsPeapUiCertificates::CEapTlsPeapUiCertificates( CEapTlsPeapUiConnection * const aUiConn, MEapTlsPeapUiCertificates * const aParent) @@ -51,83 +53,117 @@ , 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() { - if (iUiConn) - { - Close(); - iUiConn = NULL; - } + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::~CEapTlsPeapUiCertificates()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::~CEapTlsPeapUiCertificates()\n")); + + Close(); } +// ---------------------------------------------------------- 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; } - TInt err = iUiConn->GetDatabase(iDatabase); - if (err != KErrNone) - { - return err; - } + TEapExpandedType aEapType(iUiConn->GetEapType()); - TRAP(err, iCertFetcher = CEapTlsPeapCertFetcher::NewL(this)); - if (err != KErrNone) + TRAPD(error, iEapTypeConnection = CEapType::NewL(iUiConn->GetIndexType(), iUiConn->GetIndex(), aEapType)); + if (error != KErrNone) { - return err; + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::Open(): CEapType::NewL() error=%d\n"),error)); + return error; } + + 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() { - if (iIsOpened == EFalse) - { - return KErrNone; - } + 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; - delete iUserCerts; - iUserCerts = 0; - - delete iCACerts; - iCACerts = 0; - - delete iCertFetcher; - iCertFetcher = 0; - - iUiConn = NULL; - return KErrNone; + delete iCACerts; + iCACerts = 0; + + delete iEapGeneralSettings; + iEapGeneralSettings = 0; + + iUiConn = NULL; + + iIsOpened = EFalse; + + return KErrNone; } -TInt CEapTlsPeapUiCertificates::GetCertificates(CArrayFixFlat ** aUserCerts, - CArrayFixFlat ** aCACerts) +// ---------------------------------------------------------- + +TInt CEapTlsPeapUiCertificates::GetCertificates( + RPointerArray ** aUserCerts, + RPointerArray ** 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 CArrayFixFlat(KCertArrayGranularity); + iUserCerts = new RPointerArray(KCertArrayGranularity); if (!iUserCerts) { + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::GetCertificates(): iUserCerts, KErrNoMemory\n"))); return KErrNoMemory; } } @@ -136,460 +172,236 @@ if (iCACerts == 0) { - iCACerts = new CArrayFixFlat(KCertArrayGranularity); + iCACerts = new RPointerArray(KCertArrayGranularity); if (!iUserCerts) { + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::GetCertificates(): iCACerts, KErrNoMemory\n"))); return KErrNoMemory; } } *aCACerts = iCACerts; - TRAPD(err, iCertFetcher->GetCertificatesL()); + 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()); - return err; + return error; } - + +// ---------------------------------------------------------- + +void CEapTlsPeapUiCertificates::SelectCertificatesL( + const EapCertificateEntry::TCertType aCertType, + const EAPSettings & aSettings, + RPointerArray& aAvailableCerts) +{ + 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")); + + // Loop through available certs + TInt avail_ind(0); + + for (avail_ind = 0; avail_ind < aAvailableCerts.Count(); ++avail_ind) + { + 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()) ); -void CEapTlsPeapUiCertificates::CompleteReadCertificatesL( - const RArray& aAvailableUserCerts, - const RArray& aAvailableCACerts) + EapCertificateEntry * const avail_cert = aAvailableCerts[avail_ind]; + + EAP_TRACE_SETTINGS(avail_cert); + + avail_cert->SetIsEnabled(EFalse); + + if (aSettings.iCertificatesPresent) + { + TInt select_ind(0); + + 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())); + } + } + } + } +} + +// ---------------------------------------------------------- + +void CEapTlsPeapUiCertificates::SelectActiveCertificatesL() { - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::CompleteReadCertificatesL - Available cert count in device - USER=%d, CA=%d \n"), - aAvailableUserCerts.Count(), aAvailableCACerts.Count())); + 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 database and set their iIsEnabled flag -> ETrue. - TInt err(KErrNone); - if (iUiConn->GetEapType() == eap_type_tls) - { - TRAP(err, FetchDataL(KTlsAllowedUserCertsDatabaseTableName, aAvailableUserCerts, iUserCerts)); - if (err != KErrNone) - { - 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)); + // Get the allowed certs from the server and set their iIsEnabled flag -> ETrue. - 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; - } + EAPSettings aSettings; + + TRAPD(error, iEapTypeConnection->GetConfigurationL(aSettings)); + if (error) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::SelectActiveCertificatesL(): GetConfigurationL(): failed %d\n"), error)); + iParent->CompleteReadCertificates(error); + User::Leave(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; - } + + 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); } - -#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; - } + + 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); } -#endif //#ifdef USE_FAST_EAP_TYPE - - else - { - iParent->CompleteReadCertificates(KErrNotSupported); - return; - } - + // Operation was successful iParent->CompleteReadCertificates(KErrNone); } -void CEapTlsPeapUiCertificates::FetchDataL( - const TDesC& aTableName, - const RArray& aAvailableCerts, - CArrayFixFlat* const aArray) +// ---------------------------------------------------------- + +void CEapTlsPeapUiCertificates::SaveCertificatesL( + const EapCertificateEntry::TCertType /* aCertType */, + const RPointerArray* const aAvailableCerts, + EAPSettings & aSettings) { + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::SaveCertificatesL(): - Available cert count %d \n"), + aAvailableCerts->Count())); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCertificates::SaveCertificatesL()\n")); - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCertificates::FetchDataL - Fetching & comparing cert details from table:%S\n"), - &aTableName)); + TInt avail_ind(0); + for (avail_ind = 0; avail_ind < aAvailableCerts->Count(); avail_ind++) + { + if ((*aAvailableCerts)[avail_ind]->GetIsEnabled()) + { + EAP_TRACE_SETTINGS((*aAvailableCerts)[avail_ind]); - aArray->Reset(); - - HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); - TPtr sqlStatement = buf->Des(); + // Validate data lengths. + if((*aAvailableCerts)[avail_ind]->GetLabel()->Length() > KMaxCertLabelLengthInDB + || (*aAvailableCerts)[avail_ind]->GetSubjectKeyId().Length() > KMaxSubjectKeyIdLengthInDB) + { + // Too long data. Can not be stored in DB. - // Form the query. Query everything. - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + 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())); + + User::Leave(KErrArgument); + } + +#if 1 - 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 + 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) { - 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); + 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() ) ); + + 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); } - - aArray->AppendL(tmp); } - CleanupStack::PopAndDestroy(); // colset - CleanupStack::PopAndDestroy(); // view - CleanupStack::PopAndDestroy(buf); } +// ---------------------------------------------------------- + TInt CEapTlsPeapUiCertificates::Update() { - TRAPD(err, UpdateL()); - - if(KErrNone != err) + 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("CEapTlsPeapUiCertificates::Update - UpdateL LEAVES with error =%d \n"), - err)); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiCertificates::Update() SaveCertificatesL(iUserCerts): failed %d\n"), error)); + iParent->CompleteReadCertificates(error); + return error; } - return err; + 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; } - -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) - { - 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) - { - // Validate data lengths. - 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("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); - } - - 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_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); -} - +// ---------------------------------------------------------- // End of file diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiCipherSuites.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 13.1.2 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -30,26 +30,33 @@ // 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() { - if (iUiConn) + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCipherSuites::~CEapTlsPeapUiCipherSuites()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCipherSuites::~CEapTlsPeapUiCipherSuites()\n")); + + if (iUiConn) { Close(); iUiConn = NULL; @@ -59,16 +66,24 @@ 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; } - TInt err = iUiConn->GetDatabase(iDatabase); + TEapExpandedType aEapType(iUiConn->GetEapType()); + + TRAPD(err, iEapTypeConnection = CEapType::NewL(iUiConn->GetIndexType(), iUiConn->GetIndex(), aEapType)); 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; @@ -76,8 +91,11 @@ } -TInt CEapTlsPeapUiCipherSuites::GetCipherSuites(CArrayFixFlat ** aDataPtr) +TInt CEapTlsPeapUiCipherSuites::GetCipherSuites(RPointerArray ** aDataPtr) { + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCipherSuites::GetCipherSuites()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCipherSuites::GetCipherSuites()\n")); + if (aDataPtr == NULL) { return KErrArgument; @@ -91,19 +109,25 @@ { *aDataPtr = iDataPtr; return KErrNone; - } - iDataPtr = new CArrayFixFlat(8); + } + + iDataPtr = new RPointerArray(8); if (!iDataPtr) { return KErrNoMemory; } - TInt i(0); - while (available_cipher_suites[i] != 0) + TInt i_ind(0); + while (available_cipher_suites[i_ind] != 0) { - TEapTlsPeapUiCipherSuite tmp; - tmp.iCipherSuite = available_cipher_suites[i]; - tmp.iIsEnabled = EFalse; + TEapTlsPeapUiCipherSuite * const tmp = new TEapTlsPeapUiCipherSuite; + if (tmp == 0) + { + return KErrNoMemory; + } + + tmp->SetCipherSuite(available_cipher_suites[i_ind]); + tmp->SetIsEnabled(EFalse); TRAPD(err, iDataPtr->AppendL(tmp)); if (err != KErrNone) @@ -111,19 +135,38 @@ return err; } - i++; + i_ind++; } - - - TRAPD(err, FetchDataL()); + EAPSettings aSettings; - if (err != KErrNone) - { - delete iDataPtr; - return err; - } + 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); + + 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; @@ -132,105 +175,41 @@ TInt CEapTlsPeapUiCipherSuites::Update() { - TRAPD(err, UpdateL()); - return err; -} + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiCipherSuites::Update()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiCipherSuites::Update()\n")); + + EAPSettings aSettings; -void CEapTlsPeapUiCipherSuites::UpdateL() -{ - HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); - TPtr sqlStatement = buf->Des(); + aSettings.iCipherSuitesPresent = ETrue; - // Form the query. Query everything. - _LIT(KSQLQuery, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - - if (iUiConn->GetEapType() == eap_type_tls) + TInt i_ind(0); + + for (i_ind = 0; i_ind < iDataPtr->Count(); i_ind++) { - 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()); + if ((*iDataPtr)[i_ind]->GetIsEnabled()) + { + TInt error = aSettings.iCipherSuites.Append((*iDataPtr)[i_ind]->GetCipherSuite()); + if (error != KErrNone) + { + return error; + } + } } -#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 - - // Evaluate view - RDbView view; - User::LeaveIfError(view.Prepare(iDatabase, TDbQuery(sqlStatement))); - CleanupClosePushL(view); - User::LeaveIfError(view.EvaluateAll()); + TRAPD(error,iEapTypeConnection->SetConfigurationL(aSettings)); + + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Update(): error = %d\n"),error)); - // Delete old rows - if (view.FirstL()) - { - do { - view.DeleteL(); - } while (view.NextL() != EFalse); - } + return error; +} - // 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->At(i).iIsEnabled) - { - 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(); - } - } - 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; @@ -243,109 +222,4 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiConnection.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 24.1.2 % +* %version: 35 % */ // This is enumeration of EAPOL source code. @@ -27,137 +27,136 @@ #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 "eap_am_trace_symbian.h" +#include "EapTraceSymbian.h" #ifdef USE_PAC_STORE -#include "pac_store_db_symbian.h" +#include "EapFastPacStore.h" #endif +// ---------------------------------------------------------- + CEapTlsPeapUiConnection::CEapTlsPeapUiConnection( const TIndexType aIndexType, const TInt aIndex, - const TInt aTunnelingType, - const TInt aEapType) + const TEapExpandedType aTunnelingType, + const TEapExpandedType 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() { - if(iIsConnected) - { - // Already connected. - return KErrNone; - } - + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::Connect()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::Connect()\n")); + TRAPD(err, ConnectL()); if(err == KErrNone) { - iIsConnected = ETrue; } return err; } +// ---------------------------------------------------------- + void CEapTlsPeapUiConnection::ConnectL() { -#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 + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::ConnectL()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::ConnectL()\n")); #ifdef USE_PAC_STORE #ifdef USE_FAST_EAP_TYPE - if(iEapType == eap_type_fast && iPacStoreDb == NULL) + if(iEapType == *EapExpandedTypeFast.GetType() && iPacStoreDb == NULL) { - iPacStoreDb = CPacStoreDatabase::NewL(); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("CEapTlsPeapUiConnection::ConnectL() CEapFastPacStore::NewL()"))); + iPacStoreDb = CEapFastPacStore::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() { - if (iIsConnected) - { + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::Close()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::Close()\n")); #ifdef USE_PAC_STORE #ifdef USE_FAST_EAP_TYPE - if(iEapType == eap_type_fast && iPacStoreDb != NULL) - { - iPacStoreDb->Close(); - } + if(iEapType == *EapExpandedTypeFast.GetType() + && iPacStoreDb != NULL) + { + delete iPacStoreDb; + iPacStoreDb = NULL; + } + #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); @@ -166,9 +165,13 @@ 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); @@ -177,9 +180,13 @@ 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); @@ -188,9 +195,14 @@ 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); @@ -199,50 +211,60 @@ 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; } -TInt CEapTlsPeapUiConnection::GetTunnelingType() +// ---------------------------------------------------------- + +TEapExpandedType CEapTlsPeapUiConnection::GetTunnelingType() { + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::GetTunnelingType()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::GetTunnelingType()\n")); + return iTunnelingType; } -TInt CEapTlsPeapUiConnection::GetEapType() +// ---------------------------------------------------------- + +TEapExpandedType 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 == eap_type_fast) + if(iEapType == *EapExpandedTypeFast.GetType()) { - if (iIsConnected == EFalse) + if (iPacStoreDb == 0) { User::Leave(KErrSessionClosed); } @@ -266,13 +288,18 @@ 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 == eap_type_fast) + if(iEapType == *EapExpandedTypeFast.GetType()) { - if (iIsConnected == EFalse) + if (iPacStoreDb == 0) { return KErrSessionClosed; } @@ -288,13 +315,18 @@ } } +// ---------------------------------------------------------- + TBool CEapTlsPeapUiConnection::VerifyPacStorePasswordL( const TDesC& aPacStorePw) { - if(aPacStorePw.Size() <= 0) + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::VerifyPacStorePasswordL()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::VerifyPacStorePasswordL()\n")); + + if(aPacStorePw.Length() <= 0) { EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeapUiConnection::VerifyPacStorePasswordL: PAC store PW can not be EMPTY!"))); + (_L("ERROR: CEapTlsPeapUiConnection::VerifyPacStorePasswordL(): PAC store PW can not be EMPTY!"))); User::Leave(KErrArgument); } @@ -303,15 +335,15 @@ #ifdef USE_FAST_EAP_TYPE - if(iEapType == eap_type_fast) + if(iEapType == *EapExpandedTypeFast.GetType()) { - if (iIsConnected == EFalse) + if (iPacStoreDb == 0) { User::Leave(KErrSessionClosed); } EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("CEapTlsPeapUiConnection::VerifyPacStorePasswordL:PW from caller (16bits)", + ("CEapTlsPeapUiConnection::VerifyPacStorePasswordL(): PW from caller (16bits)", aPacStorePw.Ptr(), aPacStorePw.Size())); @@ -320,7 +352,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())); @@ -333,7 +365,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 @@ -345,39 +377,44 @@ return status; } +// ---------------------------------------------------------- + TInt CEapTlsPeapUiConnection::CreatePacStoreMasterKey( const TDesC& aPacStorePw) { - if(aPacStorePw.Size() <= 0) + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey()\n"))); + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: CEapTlsPeapUiConnection::CreatePacStoreMasterKey()\n")); + + if(aPacStorePw.Length() <= 0) { EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey PAC store PW can not be EMPTY!"))); + (_L("ERROR: CEapTlsPeapUiConnection::CreatePacStoreMasterKey(): PAC store PW can not be EMPTY!"))); return KErrArgument; } #ifdef USE_FAST_EAP_TYPE - if(iEapType == eap_type_fast) + if(iEapType == *EapExpandedTypeFast.GetType()) { - if (iIsConnected == EFalse) + if (iPacStoreDb == 0) { 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; } @@ -385,24 +422,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(err1, creationStatus = iPacStoreDb->CreateAndSaveMasterKeyL(pacStorePWPtr8)); + TRAPD(error, creationStatus = iPacStoreDb->CreateAndSaveMasterKeyL(pacStorePWPtr8)); delete pacStorePWBuf8; - if(err1 != KErrNone) + if(error != KErrNone) { EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey:Creation failed %d\n"), err1)); + (_L("CEapTlsPeapUiConnection::CreatePacStoreMasterKey(): Creation failed %d\n"), error)); } 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; } @@ -413,19 +450,54 @@ } } -CPacStoreDatabase * CEapTlsPeapUiConnection::GetPacStoreDb() +// ---------------------------------------------------------- + +void CEapTlsPeapUiConnection::GetPacStorePasswordL( + TDes8 & /* aPassword8 */) { -#ifdef USE_FAST_EAP_TYPE - - if(iEapType == eap_type_fast) + 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()) { - return iPacStoreDb; + //iPacStoreDb->GetPacStorePasswordL(aPassword8); } else #endif // End: #ifdef USE_FAST_EAP_TYPE { - return NULL; - } + User::Leave(KErrNotSupported); + } } +// ---------------------------------------------------------- + +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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiDataConnection.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 36.1.2 % +* %version: 56 % */ // This is enumeration of EAPOL source code. @@ -28,19 +28,20 @@ #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 "eap_am_trace_symbian.h" +#include +#include #ifdef USE_PAC_STORE #include "pac_store_db_symbian.h" #endif -const TUint KMaxSqlQueryLength = 256; +//const TUint KMaxSqlQueryLength = 256; // --------------------------------------------------------- // CEapTlsPeapUiDataConnection::CEapTlsPeapUiDataConnection() @@ -49,10 +50,12 @@ 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")); } @@ -62,11 +65,17 @@ // 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; } @@ -76,24 +85,29 @@ // TInt CEapTlsPeapUiDataConnection::Open() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Open: Start EAP-Type=%d\n"), - iUiConn->GetEapType())); + 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")); if (iIsOpened) { return KErrAlreadyExists; } - TInt err = iUiConn->GetDatabase(iDatabase); - if (err != KErrNone) - { - return err; - } + 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()); iIsOpened = ETrue; - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Open: End\n"))); - return KErrNone; } @@ -104,8 +118,10 @@ // TInt CEapTlsPeapUiDataConnection::GetData(CEapTlsPeapUiTlsPeapData ** aDataPtr) { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::GetData: Start EAP-Type=%d\n"), - iUiConn->GetEapType())); + 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")); if (aDataPtr == NULL) { @@ -115,7 +131,7 @@ if (iIsOpened == EFalse) { EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeapUiDataConnection::GetData: Data Connection not opened\n"))); + (_L("ERROR: CEapTlsPeapUiDataConnection::GetData(): Data Connection not opened\n"))); return KErrSessionClosed; } @@ -130,33 +146,191 @@ if (!iDataPtr) { EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeapUiDataConnection::GetData: ERROR: NO MEMORY!\n"))); + (_L("ERROR: CEapTlsPeapUiDataConnection::GetData(): NO MEMORY!\n"))); return KErrNoMemory; } - TRAPD(err, FetchDataL()); - if (err != KErrNone) - { - delete iDataPtr; - iDataPtr = NULL; - - delete iColSet; - iColSet = NULL; - - delete iFastSpecificColSet; - iFastSpecificColSet = NULL; - - iView.Close(); - iFastSpecificView.Close(); - - return err; - } + 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 *aDataPtr = iDataPtr; - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::GetData: End\n"))); - return KErrNone; } // CEapTlsPeapUiDataConnection::GetData() @@ -167,17 +341,19 @@ // TInt CEapTlsPeapUiDataConnection::Update() { - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Update: Start EAP-Type=%d\n"), - iUiConn->GetEapType())); + 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")); // 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() > KMaxManualUsernameLengthInDB - || iDataPtr->GetManualRealm().Length() > KMaxManualRealmLengthInDB) + if(iDataPtr->GetManualUsername().Length() > KMaxUsernameLengthInDB + || iDataPtr->GetManualRealm().Length() > KMaxRealmLengthInDB) { // Username or realm too long. Can not be stored in DB. EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeapUiDataConnection::Update: Too long username or realm. Length: UN=%d, Realm=%d\n"), + (_L("ERROR: CEapTlsPeapUiDataConnection::Update(): Too long username or realm. Length: UN=%d, Realm=%d\n"), iDataPtr->GetManualUsername().Length(), iDataPtr->GetManualRealm().Length())); @@ -185,26 +361,179 @@ } #ifdef USE_FAST_EAP_TYPE + // 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("CEapTlsPeapUiDataConnection::Update: Too long PAC store PW. Size:%d\n"), + (_L("ERROR: 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; + } - TRAPD(err, UpdateDataL()); + // 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; - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiDataConnection::Update: End, err=%d\n"), - err)); + 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; + } - return 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; + } // CEapTlsPeapUiDataConnection::Update() @@ -214,6 +543,9 @@ // 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; @@ -222,610 +554,13 @@ 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 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiEapTypes.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 16 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -30,11 +30,13 @@ // INCLUDE FILES #include -#include "EapTlsPeapUtils.h" +//#include "EapTlsPeapUtils.h" #include #include #include -#include "eap_am_trace_symbian.h" +#include +#include "EapConversion.h" +#include const TUint KNumberOfSupportedEAPTypes = 10; //Now 10, including EAP-FAST & TTLS-PAP @@ -42,17 +44,14 @@ : iIsOpened(EFalse) , iUiConn(aUiConn) , iDataPtr(NULL) +, iEapTypeConnection(NULL) { } CEapTlsPeapUiEapTypes::~CEapTlsPeapUiEapTypes() { - if (iUiConn) - { - Close(); - iUiConn = NULL; - } + Close(); } @@ -63,49 +62,48 @@ return KErrAlreadyExists; } - TInt err = iUiConn->GetDatabase(iDatabase); - if (err != KErrNone) - { - return err; - } + TEapExpandedType aEapType(iUiConn->GetEapType()); + 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(CArrayFixFlat ** aDataPtr) +TInt CEapTlsPeapUiEapTypes::GetEapTypes(RPointerArray ** aDataPtr) { if (aDataPtr == NULL) { return KErrArgument; } - if (iIsOpened == EFalse) + + if (iIsOpened == EFalse) { return KErrSessionClosed; } + if (iDataPtr != 0) { *aDataPtr = iDataPtr; return KErrNone; } - iDataPtr = new CArrayFixFlat(KNumberOfSupportedEAPTypes); + + iDataPtr = new RPointerArray(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; @@ -121,56 +119,11 @@ 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) @@ -182,217 +135,158 @@ 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"))); - 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) + EAPSettings aSettings; + + TRAPD(error,iEapTypeConnection->GetConfigurationL(aSettings)); + if (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() ) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: CEapTlsPeapUiEapTypes::FetchExpandedDataL(): GetConfigurationL() failed %d\n"), error)); + User::Leave(error); } - // Now fill the disabled EAP types. - for (i = 0; i < disabledEAPTypes.Count(); i++) - { - TEapTlsPeapUiEapType tmpEAP; + TInt i(0); - tmpEAP.iIsEnabled = EFalse; // All EAP types here are disabled. - - tmpEAP.iEapType.Copy(disabledEAPTypes[i]->iExpandedEAPType); - - TRAPD(err, iDataPtr->AppendL(tmpEAP)); - if (err != KErrNone) + { + TEapExpandedType enabledEAPType(*EapExpandedTypeNone.GetType()); + + if (aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent) { - disabledEAPTypes.ResetAndDestroy(); - User::Leave(err); + // 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() ) ); + } } - - EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::FetchExpandedDataL:Appended DISABLED EAP type:", - tmpEAP.iEapType.Ptr(), - tmpEAP.iEapType.Size() ) ); } - - enabledEAPTypes.ResetAndDestroy(); - disabledEAPTypes.ResetAndDestroy(); - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::FetchExpandedDataL: End\n"))); + + { + TEapExpandedType disabledEAPType(*EapExpandedTypeNone.GetType()); + + if (aSettings.iDisabledEncapsulatedEAPExpandedTypesPresent) + { + // 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() ) ); + } + } + } + + 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"))); - RExpandedEapTypePtrArray enabledEAPTypes; - RExpandedEapTypePtrArray disabledEAPTypes; - SExpandedEAPType* expandedEAPTmp; - + if (iDataPtr == 0) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL(): iDataPtr == 0\n"))); + User::Leave(KErrArgument); + } + + EAPSettings aSettings; + for(TInt i=0 ; i < iDataPtr->Count(); i++) { - expandedEAPTmp = new (ELeave) SExpandedEAPType; - CleanupStack::PushL(expandedEAPTmp); - - expandedEAPTmp->iExpandedEAPType.Copy(iDataPtr->At(i).iEapType); - - if(iDataPtr->At(i).iIsEnabled) + if ((*iDataPtr)[i] != 0) { - // Enabled - TInt error = enabledEAPTypes.Append(expandedEAPTmp); - - if (error != KErrNone) + TEapExpandedType expandedEAPTmp = (*iDataPtr)[i]->GetEapType(); + + if((*iDataPtr)[i]->GetIsEnabled()) { - 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); + // Enabled + TInt error = aSettings.iEnabledEncapsulatedEAPExpandedTypes.Append(expandedEAPTmp); - if (error != KErrNone) - { - enabledEAPTypes.ResetAndDestroy(); - disabledEAPTypes.ResetAndDestroy(); - User::LeaveIfError(error); - } + if (error != KErrNone) + { + User::LeaveIfError(error); + } + + aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent = ETrue; - EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::UpdateExpandedDataL:Appended DISABLED EAP type:", - expandedEAPTmp->iExpandedEAPType.Ptr(), - expandedEAPTmp->iExpandedEAPType.Size() ) ); - } - - CleanupStack::Pop(expandedEAPTmp); - } + EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::UpdateExpandedDataL(): Appended ENABLED EAP type:", + expandedEAPTmp.GetValue().Ptr(), + expandedEAPTmp.GetValue().Size() ) ); + } + else + { + // Disabled + TInt error = aSettings.iDisabledEncapsulatedEAPExpandedTypes.Append(expandedEAPTmp); - eap_type_value_e tunnelingType(static_cast(iUiConn->GetTunnelingType())); - eap_type_value_e eapType(static_cast(iUiConn->GetEapType())); + if (error != KErrNone) + { + User::LeaveIfError(error); + } + + aSettings.iDisabledEncapsulatedEAPExpandedTypesPresent = ETrue; - TRAPD(err, EapTlsPeapUtils::SetTunnelingExpandedEapDataL( - iDatabase, - 0, - enabledEAPTypes, - disabledEAPTypes, - iUiConn->GetIndexType(), - iUiConn->GetIndex(), - tunnelingType, - eapType)); + EAP_TRACE_DATA_DEBUG_SYMBIAN(("CEapTlsPeapUiEapTypes::UpdateExpandedDataL(): Appended DISABLED EAP type:", + expandedEAPTmp.GetValue().Ptr(), + expandedEAPTmp.GetValue().Size() ) ); + } + } + } // for() - enabledEAPTypes.ResetAndDestroy(); - disabledEAPTypes.ResetAndDestroy(); - - if (err != KErrNone) - { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL: Error from SetTunnelingExpandedEapDataL:%d\n"), - err)); + TRAPD(error,iEapTypeConnection->SetConfigurationL(aSettings)); + + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL(): error = %d\n"),error)); + + User::LeaveIfError(error); - User::Leave(err); - } - - EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL: End\n"))); + EAP_TRACE_DEBUG_SYMBIAN((_L("CEapTlsPeapUiEapTypes::UpdateExpandedDataL(): End\n"))); } - -#endif // #ifdef USE_EAP_EXPANDED_TYPES // End of file diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUiTlsPeapData.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 14 % +* %version: % */ // This is enumeration of EAPOL source code. @@ -34,7 +34,8 @@ : iAllowVersion0(EFalse), iAllowVersion1(EFalse), iAllowVersion2(EFalse), -iPapPasswordPrompt( ETrue ) +iPapPasswordPrompt( ETrue ), +iPasswordPrompt(ETrue) { } @@ -100,6 +101,11 @@ return iPacStorePassword; } +TBool* CEapTlsPeapUiTlsPeapData::GetUsePacStorePasswordPrompt() +{ + return &iPasswordPrompt; +} + // --------------------------------------------------------- // CEapTlsPeapUiTlsPeapData::GetPapUserName() diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/type/tls_peap/symbian/plugin/src/EapTlsPeapUtils.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 76.1.1.1.6 % +* %version: 140 % */ // This is enumeration of EAPOL source code. @@ -36,66 +36,68 @@ #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 "eap_am_trace_symbian.h" +#include + #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, - RDbs& aSession, + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, 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, 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 + (_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")); if (aEapType == eap_type_tls) { - OpenTlsDatabaseL(aDatabase, aSession, aIndexType, aIndex, aTunnelingType); + OpenTlsDatabaseL(aDatabase, aFileServerSession, aIndexType, aIndex, aTunnelingType); } else if (aEapType == eap_type_peap) { - OpenPeapDatabaseL(aDatabase, aSession, aIndexType, aIndex, aTunnelingType); + OpenPeapDatabaseL(aDatabase, aFileServerSession, aIndexType, aIndex, aTunnelingType); } #if defined(USE_TTLS_EAP_TYPE) else if (aEapType == eap_type_ttls) { - OpenTtlsDatabaseL(aDatabase, aSession, aIndexType, aIndex, aTunnelingType); + OpenTtlsDatabaseL(aDatabase, aFileServerSession, aIndexType, aIndex, aTunnelingType); } #endif // #if defined(USE_TTLS_EAP_TYPE) #if defined(USE_FAST_EAP_TYPE) else if (aEapType == eap_type_fast) { - OpenFastDatabaseL(aDatabase, aSession, aIndexType, aIndex, aTunnelingType); + OpenFastDatabaseL(aDatabase, aFileServerSession, aIndexType, aIndex, aTunnelingType); } #endif // #if defined(USE_FAST_EAP_TYPE) - - else if ( aEapType == eap_type_ttls_plain_pap ) - { - OpenTtlsDatabaseL( aDatabase, aSession, aIndexType, aIndex, aTunnelingType); - } - + else if ( aEapType == eap_expanded_type_ttls_plain_pap.get_type() ) + { + OpenTtlsDatabaseL( aDatabase, aFileServerSession, aIndexType, aIndex, aTunnelingType); + } else { // Unsupported EAP type @@ -103,144 +105,118 @@ } } // EapTlsPeapUtils::OpenDatabaseL() +// --------------------------------------------------------- + void EapTlsPeapUtils::OpenTlsDatabaseL( - RDbNamedDatabase& aDatabase, - RDbs& aSession, - const TIndexType aIndexType, - const TInt aIndex, - const eap_type_value_e aTunnelingType) + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, + 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, Tunneling vendor type=%d \n"), - aIndexType,aIndex, aTunnelingVendorType)); + (_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")); // 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 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) + TInt error(KErrNone); + TFileName aPrivateDatabasePathName; + + EapPluginTools::CreateDatabaseLC( + aDatabase, + aFileServerSession, + error, + KTlsDatabaseName, + aPrivateDatabasePathName); + + if(error == KErrNone) { aDatabase.Close(); - - } else if (err != KErrAlreadyExists) + } + else if (error != KErrAlreadyExists) { - User::LeaveIfError(err); + 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 + 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); // 2. Create the eaptls table to database (ignore error if exists) -// 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|// -/////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // 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|// + /////////////////////////////////////////////////////////////////////////////////////////////////////////////// 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 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)"); + _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)"); 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, KMaxManualRealmLengthInDB, + &cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxRealmLengthInDB, &cf_str_EAP_TLS_PEAP_use_manual_username_literal, - &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxManualUsernameLengthInDB, + &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxUsernameLengthInDB, &cf_str_EAP_TLS_PEAP_cipher_suite_literal, &cf_str_TLS_server_authenticates_client_policy_in_client_literal, - &KCACertLabelOld, KMaxCertLabelLengthInDB, + &KCACertLabel, KMaxCertLabelLengthInDB, &KClientCertLabel, KMaxCertLabelLengthInDB, &cf_str_EAP_TLS_PEAP_saved_session_id_literal, KMaxSessionIdLengthInDB, &cf_str_EAP_TLS_PEAP_saved_master_secret_literal, KMaxMasterSecretLengthInDB, @@ -248,50 +224,56 @@ &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); - - err = aDatabase.Execute(sqlStatement); - if (err == KErrAlreadyExists) + &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) { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTlsDatabaseL - Alter Table err=%d\n"), err) ); - _LIT( KColumnDef, "UNSIGNED INTEGER" ); - AlterTableL( aDatabase, EAddColumn , KTlsDatabaseTableName, + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTlsDatabaseL - Alter Table error=%d\n"), error) ); + _LIT( KColumnDef, "UNSIGNED INTEGER" ); + AlterTableL( aDatabase, EAddColumn , KTlsDatabaseTableName, cf_str_EAP_TLS_PEAP_use_identity_privacy_literal, KColumnDef); } - else if (err != KErrNone) - { - User::Leave(err); - } + else if (error != KErrNone) + { + User::Leave(error); + } // Create table for _allowed_ user certificates -//// 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, + //// 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, &KServiceType, &KServiceIndex, + &KTunnelingTypeVendorId, &KTunnelingType, &KCertLabel, KMaxCertLabelLengthInDB, &KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB, @@ -301,41 +283,46 @@ &KSerialNumber, KGeneralStringMaxLength, &KThumbprint, KThumbprintMaxLength); - err = aDatabase.Execute(sqlStatement); - if (err != KErrNone && err != KErrAlreadyExists) + error = aDatabase.Execute(sqlStatement); + if (error != KErrNone && error != KErrAlreadyExists) { - User::Leave(err); + User::Leave(error); } // Create table for _allowed_ CA certs -//// 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, + //// 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, &KServiceType, - &KServiceIndex, + &KServiceIndex, + &KTunnelingTypeVendorId, &KTunnelingType, &KCertLabel, KMaxCertLabelLengthInDB, &KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB, @@ -345,44 +332,58 @@ &KSerialNumber, KGeneralStringMaxLength, &KThumbprint, KThumbprintMaxLength); - err = aDatabase.Execute(sqlStatement); - if (err != KErrNone && err != KErrAlreadyExists) + error = aDatabase.Execute(sqlStatement); + if (error != KErrNone && error != KErrAlreadyExists) { - User::Leave(err); + User::Leave(error); } // Create table for allowed cipher suites -//// 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, + //// 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, &KServiceType, - &KServiceIndex, + &KServiceIndex, + &KTunnelingTypeVendorId, &KTunnelingType, &KCipherSuite); - - err = aDatabase.Execute(sqlStatement); - if (err != KErrNone && err != KErrAlreadyExists) + + error = aDatabase.Execute(sqlStatement); + if (error != KErrNone && error != KErrAlreadyExists) { - User::Leave(err); + User::Leave(error); } // 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"); - - sqlStatement.Format(KSQLQueryRow, &cf_str_EAP_TLS_PEAP_cipher_suite_literal, &KTlsDatabaseTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); RDbView view; User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); @@ -410,19 +411,20 @@ // 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(KTunnelingType), aTunnelingVendorType); + 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_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_TLS_PEAP_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_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_TLS_PEAP_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_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(KCACertLabelOld), default_CA_cert_label); + view.SetColL(colSet->ColNo(KCACertLabel), 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); @@ -431,11 +433,14 @@ view.SetColL(colSet->ColNo(KTLSLastFullAuthTime), default_FullAuthTime); - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TLS_Privacy); + 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.PutL(); - CleanupStack::PopAndDestroy( colSet ); // Delete colSet. - CleanupStack::PopAndDestroy( &view ); // Close view. + CleanupStack::PopAndDestroy( colSet ); + CleanupStack::PopAndDestroy( &view ); // Add default disabled cipher suites _LIT(KSQLInsert2, "SELECT * FROM %S"); @@ -453,7 +458,8 @@ view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); + view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); view.SetColL(colSet->ColNo(KCipherSuite), default_allowed_cipher_suites[i]); view.PutL(); i++; @@ -476,163 +482,139 @@ 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, - RDbs& aSession, - const TIndexType aIndexType, - const TInt aIndex, - const eap_type_value_e aTunnelingType) + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, + 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, Tunneling vendor type=%d \n"), - aIndexType,aIndex, aTunnelingVendorType)); + (_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")); // 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 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) + + TInt error(KErrNone); + TFileName aPrivateDatabasePathName; + + EapPluginTools::CreateDatabaseLC( + aDatabase, + aFileServerSession, + error, + KPeapDatabaseName, + aPrivateDatabasePathName); + + if(error == KErrNone) { aDatabase.Close(); - - } else if (err != KErrAlreadyExists) + } + else if (error != KErrAlreadyExists) { - User::LeaveIfError(err); + 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 + 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); // 2. Create the eappeap table to database (ignore error if exists) -// 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|// -////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // 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|// + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// 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 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)"); + _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)"); + 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, KMaxManualRealmLengthInDB, + &cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxRealmLengthInDB, &cf_str_EAP_TLS_PEAP_use_manual_username_literal, - &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxManualUsernameLengthInDB, + &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxUsernameLengthInDB, &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, - &KCACertLabelOld, KMaxCertLabelLengthInDB, + &KCACertLabel, KMaxCertLabelLengthInDB, &KClientCertLabel, KMaxCertLabelLengthInDB, &cf_str_EAP_TLS_PEAP_saved_session_id_literal, KMaxSessionIdLengthInDB, &cf_str_EAP_TLS_PEAP_saved_master_secret_literal, KMaxMasterSecretLengthInDB, @@ -640,50 +622,56 @@ &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_identity_privacy_literal, + &cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal); - err = aDatabase.Execute(sqlStatement); - if (err == KErrAlreadyExists) + error = aDatabase.Execute(sqlStatement); + if (error == KErrAlreadyExists) { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenPeapDatabaseL - Alter Table err=%d\n"), err) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenPeapDatabaseL - Alter Table error=%d\n"), error) ); _LIT( KColumnDef, "UNSIGNED INTEGER" ); AlterTableL( aDatabase, EAddColumn , KPeapDatabaseTableName, cf_str_EAP_TLS_PEAP_use_identity_privacy_literal, KColumnDef); } - else if (err != KErrNone) + else if (error != KErrNone) { - User::Leave(err); + User::Leave(error); } // Create table for _allowed_ user certificates -//// 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, + //// 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, &KServiceType, &KServiceIndex, + &KTunnelingTypeVendorId, &KTunnelingType, &KCertLabel, KMaxCertLabelLengthInDB, &KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB, @@ -693,41 +681,46 @@ &KSerialNumber, KGeneralStringMaxLength, &KThumbprint, KThumbprintMaxLength); - err = aDatabase.Execute(sqlStatement); - if (err != KErrNone && err != KErrAlreadyExists) + error = aDatabase.Execute(sqlStatement); + if (error != KErrNone && error != KErrAlreadyExists) { - User::Leave(err); + User::Leave(error); } // Create table for _allowed_ CA certs -//// 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))"); + //// 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))"); - sqlStatement.Format(KSQLCreateTable3, &KPeapAllowedCACertsDatabaseTableName, + sqlStatement.Format(KSQLCreateTable3, + &KPeapAllowedCACertsDatabaseTableName, &KServiceType, - &KServiceIndex, + &KServiceIndex, + &KTunnelingTypeVendorId, &KTunnelingType, &KCertLabel, KMaxCertLabelLengthInDB, &KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB, @@ -737,49 +730,66 @@ &KSerialNumber, KGeneralStringMaxLength, &KThumbprint, KThumbprintMaxLength); - err = aDatabase.Execute(sqlStatement); - if (err != KErrNone && err != KErrAlreadyExists) + error = aDatabase.Execute(sqlStatement); + if (error != KErrNone && error != KErrAlreadyExists) { - User::Leave(err); + User::Leave(error); } // Create table for _allowed_ cipher suites -//// 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) + //// 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) { - User::Leave(err); + User::Leave(error); } // 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"); - - sqlStatement.Format(KSQLQueryRow, &KPeapDatabaseTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); - + _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()); + 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) @@ -798,13 +808,14 @@ // 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(KTunnelingType), aTunnelingVendorType); + 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_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_TLS_PEAP_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_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_TLS_PEAP_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_cipher_suite_literal), default_EAP_TLS_PEAP_cipher_suite); @@ -827,7 +838,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(KCACertLabelOld), default_CA_cert_label); + view.SetColL(colSet->ColNo(KCACertLabel), 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); @@ -836,7 +847,9 @@ view.SetColL(colSet->ColNo(KPEAPLastFullAuthTime), default_FullAuthTime); - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TLS_Privacy); + 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.PutL(); @@ -859,14 +872,15 @@ view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); + view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); view.SetColL(colSet->ColNo(KCipherSuite), default_allowed_cipher_suites[i]); view.PutL(); i++; } - CleanupStack::PopAndDestroy( colSet ); // Delete colSet. - CleanupStack::PopAndDestroy( &view ); // Close view. + CleanupStack::PopAndDestroy( colSet ); + CleanupStack::PopAndDestroy( &view ); } // 6. Do the altering of tables here. @@ -882,11 +896,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) @@ -896,170 +910,143 @@ // --------------------------------------------------------- // void EapTlsPeapUtils::OpenTtlsDatabaseL( - RDbNamedDatabase& aDatabase, - RDbs& aSession, - const TIndexType aIndexType, - const TInt aIndex, - const eap_type_value_e aTunnelingType) + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, + 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, Tunneling vendor type=%d \n"), - aIndexType,aIndex, aTunnelingVendorType)); + (_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")); // 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 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) + + TInt error(KErrNone); + TFileName aPrivateDatabasePathName; + + EapPluginTools::CreateDatabaseLC( + aDatabase, + aFileServerSession, + error, + KTtlsDatabaseName, + aPrivateDatabasePathName); + + if(error == KErrNone) { aDatabase.Close(); - - } else if (err != KErrAlreadyExists) + } + else if (error != KErrAlreadyExists) { - User::LeaveIfError(err); + 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 + 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); + // 2. Create the eapttls table to database (ignore error if exists) -// 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 |// - - -////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // 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|// + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// 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 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)"); + // 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")) ); 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, KMaxManualRealmLengthInDB, + &cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxRealmLengthInDB, &cf_str_EAP_TLS_PEAP_use_manual_username_literal, - &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxManualUsernameLengthInDB, + &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxUsernameLengthInDB, &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, - &KCACertLabelOld, KMaxCertLabelLengthInDB, + &KCACertLabel, KMaxCertLabelLengthInDB, &KClientCertLabel, KMaxCertLabelLengthInDB, &cf_str_EAP_TLS_PEAP_saved_session_id_literal, KMaxSessionIdLengthInDB, &cf_str_EAP_TLS_PEAP_saved_master_secret_literal, KMaxMasterSecretLengthInDB, @@ -1072,14 +1059,25 @@ &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 ); - - - - err = aDatabase.Execute(sqlStatement); - if (err == KErrAlreadyExists) + &KTTLSPAPLastFullAuthTime); + + + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): aDatabase.Execute()\n")) ); + + error = aDatabase.Execute(sqlStatement); + if (error == KErrNone) { - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL - Alter Table err=%d\n"), err) ); + // 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) ); _LIT( KColumnDef, "UNSIGNED INTEGER" ); AlterTableL( aDatabase, EAddColumn , KTtlsDatabaseTableName, @@ -1114,41 +1112,107 @@ 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 (err != KErrNone) + else if (error != KErrNone) { - User::Leave(err); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::OpenTtlsDatabaseL(): aDatabase.Execute() failed error=%d\n"), error) ); + + User::Leave(error); } // Create table for _allowed_ user certificates -//// 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))"); + //// 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, + &KServiceType, + &KServiceIndex, + &KTunnelingTypeVendorId, + &KTunnelingType, + &KCertLabel, KMaxCertLabelLengthInDB, + &KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB, + &KActualSubjectKeyIdentifier, KKeyIdentifierLength, + &KSubjectName, KGeneralStringMaxLength, + &KIssuerName, KGeneralStringMaxLength, + &KSerialNumber, KGeneralStringMaxLength, + &KThumbprint, KThumbprintMaxLength); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): aDatabase.Execute()\n")) ); + + error = aDatabase.Execute(sqlStatement); + if (error != KErrNone && error != KErrAlreadyExists) + { + User::Leave(error); + } + + // 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))"); - sqlStatement.Format(KSQLCreateTable2, &KTtlsAllowedUserCertsDatabaseTableName, + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): sqlStatement.Format(KSQLCreateTable3)\n")) ); + + sqlStatement.Format(KSQLCreateTable3, + &KTtlsAllowedCACertsDatabaseTableName, &KServiceType, - &KServiceIndex, + &KServiceIndex, + &KTunnelingTypeVendorId, &KTunnelingType, &KCertLabel, KMaxCertLabelLengthInDB, &KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB, @@ -1158,102 +1222,101 @@ &KSerialNumber, KGeneralStringMaxLength, &KThumbprint, KThumbprintMaxLength); - err = aDatabase.Execute(sqlStatement); - if (err != KErrNone && err != KErrAlreadyExists) + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): aDatabase.Execute()\n")) ); + + error = aDatabase.Execute(sqlStatement); + if (error != KErrNone && error != KErrAlreadyExists) { - User::Leave(err); - } - - // Create table for _allowed_ CA certs - -//// 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, &KTtlsAllowedCACertsDatabaseTableName, - &KServiceType, - &KServiceIndex, - &KTunnelingType, - &KCertLabel, KMaxCertLabelLengthInDB, - &KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB, - &KActualSubjectKeyIdentifier, KKeyIdentifierLength, - &KSubjectName, KGeneralStringMaxLength, - &KIssuerName, KGeneralStringMaxLength, - &KSerialNumber, KGeneralStringMaxLength, - &KThumbprint, KThumbprintMaxLength); - - err = aDatabase.Execute(sqlStatement); - if (err != KErrNone && err != KErrAlreadyExists) - { - User::Leave(err); + User::Leave(error); } // Create table for _allowed_ cipher suites -//// 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) + //// 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) { - User::Leave(err); + User::Leave(error); } // 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"); - - sqlStatement.Format(KSQLQueryRow, &KTtlsDatabaseTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); 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 @@ -1263,13 +1326,14 @@ // 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(KTunnelingType), aTunnelingVendorType); + 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_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_TLS_PEAP_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_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_TLS_PEAP_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_cipher_suite_literal), default_EAP_TLS_PEAP_cipher_suite); @@ -1292,7 +1356,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(KCACertLabelOld), default_CA_cert_label); + view.SetColL(colSet->ColNo(KCACertLabel), default_CA_cert_label); view.SetColL(colSet->ColNo(KClientCertLabel), default_client_cert_label); @@ -1302,7 +1366,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_TLS_Privacy); + view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_identity_privacy_literal), default_EAP_TLS_PEAP_TTLS_Privacy); view.SetColL( colSet->ColNo( @@ -1325,15 +1389,26 @@ 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 ); // Close view. + CleanupStack::PopAndDestroy( &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); @@ -1347,14 +1422,15 @@ view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); + view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); view.SetColL(colSet->ColNo(KCipherSuite), default_allowed_cipher_suites[i]); view.PutL(); i++; } - CleanupStack::PopAndDestroy( colSet ); // Delete colSet. - CleanupStack::PopAndDestroy( &view ); // Close view. + CleanupStack::PopAndDestroy( colSet ); + CleanupStack::PopAndDestroy( &view ); } // 6. Do the altering of tables here. @@ -1364,18 +1440,21 @@ // 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); - CleanupStack::PopAndDestroy( buf ); // Delete buf or sqlStatement - CleanupStack::Pop( &aDatabase ); - CleanupStack::Pop( &aSession ); - + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::OpenTtlsDatabaseL(): aDatabase.Compact()\n")) ); aDatabase.Compact(); - + + CleanupStack::PopAndDestroy( buf ); + CleanupStack::Pop( &aDatabase ); + CleanupStack::Pop( &aFileServerSession ); + } // EapTlsPeapUtils::OpenTtlsDatabaseL() #endif // #if defined(USE_TTLS_EAP_TYPE) @@ -1387,117 +1466,83 @@ // --------------------------------------------------------- // void EapTlsPeapUtils::OpenFastDatabaseL( - RDbNamedDatabase& aDatabase, - RDbs& aSession, - const TIndexType aIndexType, + RDbNamedDatabase& aDatabase, + RFs& aFileServerSession, + 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, Tunneling vendor type=%d \n"), - aIndexType,aIndex, aTunnelingVendorType)); + (_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")); // 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 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) + + TInt error(KErrNone); + TFileName aPrivateDatabasePathName; + + EapPluginTools::CreateDatabaseLC( + aDatabase, + aFileServerSession, + error, + KFastDatabaseName, + aPrivateDatabasePathName); + + if(error == KErrNone) { aDatabase.Close(); - - } else if (err != KErrAlreadyExists) + } + else if (error != KErrAlreadyExists) { - User::LeaveIfError(err); + 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 + 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); // 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 |// -//| 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 |// -////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // 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 |// + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); @@ -1506,35 +1551,40 @@ 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 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, + _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, &KServiceType, &KServiceIndex, + &KTunnelingTypeVendorId, &KTunnelingType, &cf_str_EAP_TLS_PEAP_use_manual_realm_literal, - &cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxManualRealmLengthInDB, + &cf_str_EAP_TLS_PEAP_manual_realm_literal, KMaxRealmLengthInDB, &cf_str_EAP_TLS_PEAP_use_manual_username_literal, - &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxManualUsernameLengthInDB, + &cf_str_EAP_TLS_PEAP_manual_username_literal, KMaxUsernameLengthInDB, &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, @@ -1547,15 +1597,16 @@ &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_identity_privacy_literal, + &cf_str_EAP_TLS_PEAP_use_automatic_ca_certificate_literal); + EAP_TRACE_DEBUG_SYMBIAN( (_L("EapTlsPeapUtils::OpenFastDatabaseL - SQL query formated OK\n"))); - err = aDatabase.Execute(sqlStatement); - if (err != KErrNone && err != KErrAlreadyExists) + error = aDatabase.Execute(sqlStatement); + if (error != KErrNone && error != KErrAlreadyExists) { - User::Leave(err); + User::Leave(error); } EAP_TRACE_DEBUG_SYMBIAN( @@ -1563,35 +1614,40 @@ // Table 2: Create table for Special settings of EAP-FAST. -// 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) )"); + // 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) )"); - 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, @@ -1604,10 +1660,10 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("EapTlsPeapUtils::OpenFastDatabaseL - SQL query formated OK\n"))); - err = aDatabase.Execute(sqlStatement); - if (err != KErrNone && err != KErrAlreadyExists) + error = aDatabase.Execute(sqlStatement); + if (error != KErrNone && error != KErrAlreadyExists) { - User::Leave(err); + User::Leave(error); } EAP_TRACE_DEBUG_SYMBIAN( @@ -1615,33 +1671,38 @@ // Table 3: Create table for _allowed_ user certificates -//// 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))"); + //// 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))"); - sqlStatement.Format(KSQLCreateTable3, &KFastAllowedUserCertsDatabaseTableName, + sqlStatement.Format(KSQLCreateTable3, + &KFastAllowedUserCertsDatabaseTableName, &KServiceType, - &KServiceIndex, + &KServiceIndex, + &KTunnelingTypeVendorId, &KTunnelingType, &KCertLabel, KMaxCertLabelLengthInDB, &KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB, @@ -1654,10 +1715,10 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("EapTlsPeapUtils::OpenFastDatabaseL - SQL query formated OK\n"))); - err = aDatabase.Execute(sqlStatement); - if (err != KErrNone && err != KErrAlreadyExists) + error = aDatabase.Execute(sqlStatement); + if (error != KErrNone && error != KErrAlreadyExists) { - User::Leave(err); + User::Leave(error); } EAP_TRACE_DEBUG_SYMBIAN( @@ -1665,33 +1726,38 @@ // Table 4: Create table for _allowed_ CA certs -//// 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))"); + //// 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))"); - sqlStatement.Format(KSQLCreateTable4, &KFastAllowedCACertsDatabaseTableName, + sqlStatement.Format(KSQLCreateTable4, + &KFastAllowedCACertsDatabaseTableName, &KServiceType, - &KServiceIndex, + &KServiceIndex, + &KTunnelingTypeVendorId, &KTunnelingType, &KCertLabel, KMaxCertLabelLengthInDB, &KSubjectKeyIdentifier, KMaxSubjectKeyIdLengthInDB, @@ -1704,10 +1770,10 @@ EAP_TRACE_DEBUG_SYMBIAN( (_L("EapTlsPeapUtils::OpenFastDatabaseL - SQL query formated OK\n"))); - err = aDatabase.Execute(sqlStatement); - if (err != KErrNone && err != KErrAlreadyExists) + error = aDatabase.Execute(sqlStatement); + if (error != KErrNone && error != KErrAlreadyExists) { - User::Leave(err); + User::Leave(error); } EAP_TRACE_DEBUG_SYMBIAN( @@ -1715,24 +1781,33 @@ // Table 5: Create table for _allowed_ cipher suites -//// 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) + //// 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) { - User::Leave(err); + User::Leave(error); } EAP_TRACE_DEBUG_SYMBIAN( @@ -1740,10 +1815,18 @@ // 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"); - - sqlStatement.Format(KSQLQueryRow, &KFastGeneralSettingsDBTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); RDbView view; User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); @@ -1772,13 +1855,14 @@ // 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(KTunnelingType), aTunnelingVendorType); + 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_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_TLS_PEAP_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_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_TLS_PEAP_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_cipher_suite_literal), default_EAP_TLS_PEAP_cipher_suite); @@ -1807,8 +1891,10 @@ 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_TLS_Privacy); + + 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.PutL(); @@ -1832,28 +1918,18 @@ // Set the default values. view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); + 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_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 ); // Close view. + CleanupStack::PopAndDestroy( &view ); //--------------------------------------------------------// @@ -1873,26 +1949,29 @@ view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), aIndex); - view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingVendorType); + view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); view.SetColL(colSet->ColNo(KCipherSuite), default_allowed_cipher_suites[i]); view.PutL(); i++; } - CleanupStack::PopAndDestroy( colSet ); // Delete colSet. - CleanupStack::PopAndDestroy( &view ); // Close view. + CleanupStack::PopAndDestroy( colSet ); + CleanupStack::PopAndDestroy( &view ); } - - CleanupStack::PopAndDestroy( buf ); // Delete buf or sqlStatement - CleanupStack::Pop( &aDatabase ); - CleanupStack::Pop( &aSession ); - + aDatabase.Compact(); - - } // EapTlsPeapUtils::OpenFastDatabaseL() + + CleanupStack::PopAndDestroy( buf ); + CleanupStack::Pop( &aDatabase ); + CleanupStack::Pop( &aFileServerSession ); + +} // EapTlsPeapUtils::OpenFastDatabaseL() #endif // #if defined(USE_FAST_EAP_TYPE) +// --------------------------------------------------------- + void EapTlsPeapUtils::SetIndexL( RDbNamedDatabase& aDatabase, const TDesC& aTableName, @@ -1903,34 +1982,40 @@ 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, Tunneling vendor type=%d \n"), - aIndexType, aIndex, aTunnelingVendorType)); + (_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())); EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::SetIndexL -Start- aNewIndexType=%d, aNewIndex=%d, New Tunneling vendor type=%d \n"), - aNewIndexType, aNewIndex, aNewTunnelingVendorType)); + (_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")); 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"); - - sqlStatement.Format(KSQL, &aTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); RDbView view; @@ -1953,19 +2038,22 @@ view.UpdateL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aNewIndexType)); - view.SetColL(colSet->ColNo(KServiceIndex), static_cast(aNewIndex)); - - view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingVendorType); + view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aNewTunnelingType.get_vendor_id()); + view.SetColL(colSet->ColNo(KTunnelingType), aNewTunnelingType.get_vendor_type()); view.PutL(); } } while (view.NextL() != EFalse); } - CleanupStack::PopAndDestroy(3); // view, colset + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); } +// --------------------------------------------------------- + void EapTlsPeapUtils::ReadCertRowsToArrayL( RDbNamedDatabase& aDatabase, eap_am_tools_symbian_c * const /*aTools*/, @@ -1973,29 +2061,34 @@ const TIndexType aIndexType, const TInt aIndex, const eap_type_value_e aTunnelingType, - RArray& aArray) + RPointerArray& aArray) { -#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")) ); - + 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")); + 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"); - - sqlStatement.Format(KSQLQueryRow, &aTableName, &KServiceType, - aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); RDbView view; User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); @@ -2013,33 +2106,50 @@ view.GetL(); { - SCertEntry certInfo; + EapCertificateEntry * const certInfo = new EapCertificateEntry; + if (certInfo == 0) + { + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::ReadCertRowsToArrayL(): No memory\n"))); + User::Leave(KErrNoMemory); + } + // Store the line TPtrC ptr = view.ColDes(colSet->ColNo(KCertLabel)); - certInfo.iLabel.Copy(ptr); + certInfo->SetLabel(ptr); TPtrC8 ptr2 = view.ColDes8(colSet->ColNo(KSubjectKeyIdentifier)); // This is for authentication and uses Symbian subjectkey id. - certInfo.iSubjectKeyId.Copy(ptr2); - - aArray.Append(certInfo); - - EAP_TRACE_DEBUG_SYMBIAN((_L("ReadCertRowsToArrayL - Appended Cert with label=%S\n"), - &(certInfo.iLabel))); - + 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)); + EAP_TRACE_DATA_DEBUG_SYMBIAN(("ReadCertRowsToArrayL - Appended Cert's SubjectKeyID:", - certInfo.iSubjectKeyId.Ptr(), certInfo.iSubjectKeyId.Size())); + certInfo->GetSubjectKeyId().Ptr(), + certInfo->GetSubjectKeyId().Length())); + + if (error != KErrNone) + { + delete certInfo; + User::Leave(error); + } } } while (view.NextL() != EFalse); } // Close database - CleanupStack::PopAndDestroy(colSet); - CleanupStack::PopAndDestroy(2); // view, buf + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); CleanupStack::Pop( &aArray ); } +// --------------------------------------------------------- + void EapTlsPeapUtils::ReadUintRowsToArrayL( RDbNamedDatabase& aDatabase, eap_am_tools_symbian_c * const /*aTools*/, @@ -2050,32 +2160,38 @@ const eap_type_value_e aTunnelingType, RArray& aArray) { -#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")) ); + 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")); 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"); - - sqlStatement.Format(KSQLQueryRow, &aColumnName, &aTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + _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()); RDbView view; User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); - User::LeaveIfError(view.EvaluateAll()); + User::LeaveIfError(view.EvaluateAll()); if (view.FirstL()) { @@ -2087,8 +2203,18 @@ case EDbColUint32: { // Store the line - TUint tmp = view.ColUint(KDefaultColumnInView_One); - aArray.Append(tmp); + 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); + } } break; default: @@ -2099,16 +2225,24 @@ } // Close database - CleanupStack::PopAndDestroy(2); // view, buf + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(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-Start")) ); + EAP_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::CompareTCertLabels(): item1=\"%S\", item2=\"%S\"\n"), + &item1, + &item2)); + + EAP_TRACE_RETURN_STRING_SYMBIAN(_L("returns: EapTlsPeapUtils::CompareTCertLabels()\n")); if (item1 == item2) { @@ -2120,22 +2254,36 @@ } } -TBool EapTlsPeapUtils::CompareSCertEntries(const SCertEntry& item1, const SCertEntry& item2) +// --------------------------------------------------------- + +TBool EapTlsPeapUtils::CompareSCertEntries(const EapCertificateEntry& item1, const EapCertificateEntry& item2) { - 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. + 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. { - if (item1.iSubjectKeyId == item2.iSubjectKeyId) + if (item1.GetSubjectKeyId() == item2.GetSubjectKeyId()) { EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::CompareSCertEntries, Certs matched\n"))); @@ -2146,91 +2294,116 @@ return EFalse; } - -#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( +//-------------------------------------------------- + +// Stores the tunneled EAP type (expanded) to the database. +void EapTlsPeapUtils::SetTunnelingExpandedEapDataL( RDbNamedDatabase& aDatabase, eap_am_tools_symbian_c * const /*aTools*/, - TEapArray &aEaps, + RPointerArray &aEnabledEAPArrary, + RPointerArray &aDisabledEAPArrary, 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::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())); EAP_TRACE_DEBUG_SYMBIAN( - (_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()) ); + (_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")); 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"); + _LIT(KSQLQueryRow, "SELECT %S, %S FROM %S WHERE %S=%d AND %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, - &KTunnelingType, aTunnelingVendorType); + &KPeapDatabaseTableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); } #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, - &KTunnelingType, aTunnelingVendorType); + &KTtlsDatabaseTableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); } #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, - &KTunnelingType, aTunnelingVendorType); + &KFastGeneralSettingsDBTableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); } #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::SetEapDataL - Unsupported EAP type =%d \n"), - aEapVendorType)); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetTunnelingExpandedEapDataL - Unsupported EAP-type=0xfe%06x%08x\n"), + aEapType.get_vendor_id(), + aEapType.get_vendor_type())); // Unsupported EAP type User::Leave(KErrNotSupported); } - + RDbView view; User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); @@ -2238,37 +2411,35 @@ User::LeaveIfError(view.FirstL()); view.UpdateL(); - 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). + 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. TPtr8 acceptedPtr(acceptedDbText->Des()); TPtr8 unacceptedPtr(unacceptedDbText->Des()); - TBuf8<3> UidTmp; - - for(TInt i = 0 ; i< eapCount; i++) + // Fill in accepted tunneled type. + for(TInt i = 0 ; i< enabledEAPCount; i++) { - 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); - } + 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()); } // Save the strings in the DB. @@ -2281,323 +2452,7 @@ if(acceptedPtr.Length() > KMaxTunneledTypeStringLengthInDB || unacceptedPtr.Length() > KMaxTunneledTypeStringLengthInDB) { - 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") ) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetTunnelingExpandedEapDataL - Too long Tunneled EAP type string \n") ) ); User::Leave(KErrArgument); } @@ -2623,68 +2478,106 @@ 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*/, - RExpandedEapTypePtrArray &aEnabledEAPArrary, - RExpandedEapTypePtrArray &aDisabledEAPArrary, + RPointerArray &aEnabledEAPArrary, + RPointerArray &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 aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"), - aIndexType,aIndex, aTunnelingVendorType, aEapVendorType)); + (_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")); 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"); + _LIT(KSQLQueryRow, "SELECT %S, %S FROM %S WHERE %S=%d AND %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, - &KTunnelingType, aTunnelingVendorType); + &KPeapDatabaseTableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); } #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, - &KTunnelingType, aTunnelingVendorType); + &KTtlsDatabaseTableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); } #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, - &KTunnelingType, aTunnelingVendorType); + &KFastGeneralSettingsDBTableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); } #endif - else if (aEapType == eap_type_ttls_plain_pap ) + else if (aEapType == eap_expanded_type_ttls_plain_pap.get_type() ) { - 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, - &KTunnelingType, aTunnelingVendorType); + &KTtlsDatabaseTableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); } else { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::GetTunnelingExpandedEapDataL - Unsupported EAP type=%d \n"), - aEapVendorType)); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::GetTunnelingExpandedEapDataL(): - Unsupported EAP-type=0xfe%06x%08x\n"), + aEapType.get_vendor_id(), + aEapType.get_vendor_type())); // Unsupported EAP type User::Leave(KErrNotSupported); @@ -2722,13 +2615,13 @@ TUint acceptedLength = acceptedEAPData.Length(); TUint unacceptedLength = unacceptedEAPData.Length(); - SExpandedEAPType *expandedEAPTmp = 0; + TEapExpandedType *expandedEAPTmp = 0; TUint index = 0; // For accepted or enabled tunneled EAP types. while(index < acceptedLength) { - expandedEAPTmp = new SExpandedEAPType; + expandedEAPTmp = new TEapExpandedType; if (expandedEAPTmp == 0) { @@ -2737,15 +2630,16 @@ User::LeaveIfError(KErrNoMemory); } - expandedEAPTmp->iExpandedEAPType = acceptedEAPData.Mid(index, KExpandedEAPTypeSize); + *expandedEAPTmp = acceptedEAPData.Mid(index, KEapExpandedTypeLength); - EAP_TRACE_DATA_DEBUG_SYMBIAN(("Extracted EAP type:", - expandedEAPTmp->iExpandedEAPType.Ptr(), - expandedEAPTmp->iExpandedEAPType.Size() ) ); - - aEnabledEAPArrary.Append(expandedEAPTmp); - - index = 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; } index = 0; @@ -2753,7 +2647,7 @@ // For unaccepted or disabled tunneled EAP types. while(index < unacceptedLength) { - expandedEAPTmp = new SExpandedEAPType; + expandedEAPTmp = new TEapExpandedType; if (expandedEAPTmp == 0) { @@ -2762,27 +2656,31 @@ User::LeaveIfError(KErrNoMemory); } - expandedEAPTmp->iExpandedEAPType = unacceptedEAPData.Mid(index, KExpandedEAPTypeSize); + *expandedEAPTmp = unacceptedEAPData.Mid(index, KEapExpandedTypeLength); - EAP_TRACE_DATA_DEBUG_SYMBIAN(("Extracted EAP type:", - expandedEAPTmp->iExpandedEAPType.Ptr(), - expandedEAPTmp->iExpandedEAPType.Size() ) ); - - aDisabledEAPArrary.Append(expandedEAPTmp); - - index = 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; } 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 @@ -2801,6 +2699,12 @@ 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) { @@ -2814,6 +2718,12 @@ 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 @@ -2838,149 +2748,64 @@ 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, 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 ) ); - + (_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")) ); + + // Validate length of inputs. - if(aSettings.iUsername.Length() > KMaxManualUsernameLengthInDB - || aSettings.iRealm.Length() > KMaxManualRealmLengthInDB ) + if(aSettings.iUsername.Length() > KMaxUsernameLengthInDB + || aSettings.iRealm.Length() > KMaxRealmLengthInDB ) { // Some inputs are too long. Can not be stored in DB. - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL: Too long arguments\n"))); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetConfigurationL(): Too long arguments\n"))); User::Leave(KErrArgument); } - - 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) ); - + +#ifdef USE_FAST_EAP_TYPE + // 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("EapTlsPeapUtils::SetConfigurationL: Too long PAC Group Ref!\n"))); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: 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.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 + 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()) ) - || static_cast(aSettings.iEAPType) != aEapVendorType) { - EAP_TRACE_DEBUG_SYMBIAN((_L("SetConfigurationL - LEAVE - Unsupported EAP type\n")) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetConfigurationL(): LEAVE - Unsupported EAP type\n")) ); User::Leave(KErrNotSupported); } - + HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); @@ -2995,86 +2820,81 @@ TPtrC fastSpecialSettings; #endif - switch (aEapVendorType) + 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) { - 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; - + 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 - 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; + 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); + lastFullAuthTime.Set(KFASTLastFullAuthTime); + } #endif - - 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); - } - } - + 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); + } + RDbView view; - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %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, - &KTunnelingType, aTunnelingVendorType ); + sqlStatement.Format(KSQL, + &settings, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -3097,131 +2917,208 @@ ////////////////////////////////////////// // This is only for plain PAP settings. // ////////////////////////////////////////// - if ( aEapVendorType == eap_type_ttls_plain_pap ) - { + if ( aEapType == eap_expanded_type_ttls_plain_pap.get_type() ) + { // 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( - "EapTlsPeapUtils::SetConfigurationL: Too long Username. Length=%d \n" ), - aSettings.iUsername.Length() ) ); - CleanupStack::PopAndDestroy( 3 ); // colset, view, buf + 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); 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( - "EapTlsPeapUtils::SetConfigurationL: Too long Password. Length=%d \n" ), - aSettings.iPassword.Length() ) ); - CleanupStack::PopAndDestroy( 3 ); // colset, view, buf + 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); 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 ); - - // If password was supplied set password prompting off - view.SetColL( colSet->ColNo( - cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt_literal ), - EPapPasswordPromptOff ); - } + } + + // 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 ); + } + } // 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( - "Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n" ), - aSettings.iEAPType )); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils: Session Validity: Resetting Full Auth Time since settings are modified\n"))); view.PutL(); - CleanupStack::PopAndDestroy( 3 ); // colset, view, buf + + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL - Return \n") ) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL(): Return PAP\n") ) ); return; - } // if ( aEapVendorType == eap_type_ttls_plain_pap ) - - // Manual username + } // if ( aEapVendorType == eap_expanded_type_ttls_plain_pap.get_type() ) + + + if (aSettings.iUseAutomaticCACertificatePresent) { - // 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 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) + { // This is to set the automatic or manual status. TUint useManualUsernameStatus; - if (aSettings.iUsernamePresent) + if (aSettings.iUseAutomaticUsername) + { + useManualUsernameStatus = EEapDbFalse; + } + else { - useManualUsernameStatus = ETLSPEAPUseManualUsernameYes; + useManualUsernameStatus = EEapDbTrue; + } + + // 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 { - useManualUsernameStatus = ETLSPEAPUseManualUsernameNo; + useManualRealmStatus = EEapDbTrue; } - + // Set the value. - view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_use_manual_username_literal), - useManualUsernameStatus); + 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); } // 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 @@ -3230,12 +3127,12 @@ if (aSettings.iVerifyServerRealm) { view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal), - ETLSPEAPVerifyCertRealmYes); + EEapDbTrue); } else { view.SetColL(colSet->ColNo(cf_str_EAP_TLS_PEAP_verify_certificate_realm_literal), - ETLSPEAPVerifyCertRealmNo); + EEapDbFalse); } } @@ -3245,12 +3142,12 @@ if (aSettings.iRequireClientAuthentication) { view.SetColL(colSet->ColNo(cf_str_TLS_server_authenticates_client_policy_in_client_literal), - ETLSPEAPServerAuthenticatesClientPolicyYes); + EEapDbTrue); } else { view.SetColL(colSet->ColNo(cf_str_TLS_server_authenticates_client_policy_in_client_literal), - ETLSPEAPServerAuthenticatesClientPolicyNo); + EEapDbFalse); } } @@ -3271,8 +3168,7 @@ view.SetColL(colSet->ColNo(lastFullAuthTime), default_FullAuthTime); - EAP_TRACE_DEBUG_SYMBIAN((_L("Session Validity: EAP-Type=%d, Resetting Full Auth Time since settings are modified\n"), - aSettings.iEAPType )); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils: Session Validity: Resetting Full Auth Time since settings are modified\n"))); // PEAP versions @@ -3303,10 +3199,28 @@ } 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(2); // view, colset + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); #ifdef USE_FAST_EAP_TYPE @@ -3316,8 +3230,16 @@ if(aEapType == eap_type_fast) { - sqlStatement.Format(KSQL, &fastSpecialSettings, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQL, + &fastSpecialSettings, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -3341,12 +3263,12 @@ if (aSettings.iAuthProvModeAllowed) { view.SetColL(colSet->ColNo(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal), - EFASTAuthProvModeAllowedYes); + EEapDbTrue); } else { view.SetColL(colSet->ColNo(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal), - EFASTAuthProvModeAllowedNo); + EEapDbFalse); } } @@ -3355,12 +3277,12 @@ if (aSettings.iUnauthProvModeAllowed) { view.SetColL(colSet->ColNo(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal), - EFASTUnauthProvModeAllowedYes); + EEapDbTrue); } else { view.SetColL(colSet->ColNo(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal), - EFASTUnauthProvModeAllowedNo); + EEapDbFalse); } } @@ -3370,12 +3292,12 @@ if (aSettings.iWarnADHPNoPAC) { view.SetColL(colSet->ColNo(KFASTWarnADHPNoPAC), - EFASTWarnADHPNoPACYes); + EEapDbTrue); } else { view.SetColL(colSet->ColNo(KFASTWarnADHPNoPAC), - EFASTWarnADHPNoPACNo); + EEapDbFalse); } } @@ -3384,12 +3306,12 @@ if (aSettings.iWarnADHPNoMatchingPAC) { view.SetColL(colSet->ColNo(KFASTWarnADHPNoMatchingPAC), - EFASTWarnADHPNoMatchingPACYes); + EEapDbTrue); } else { view.SetColL(colSet->ColNo(KFASTWarnADHPNoMatchingPAC), - EFASTWarnADHPNoMatchingPACNo); + EEapDbFalse); } } @@ -3398,12 +3320,12 @@ if (aSettings.iWarnADHPNoMatchingPAC) { view.SetColL(colSet->ColNo(KFASTWarnNotDefaultServer), - EFASTWarnNotDefaultServerYes); + EEapDbTrue); } else { view.SetColL(colSet->ColNo(KFASTWarnNotDefaultServer), - EFASTWarnNotDefaultServerNo); + EEapDbFalse); } } @@ -3418,7 +3340,8 @@ view.PutL(); - CleanupStack::PopAndDestroy(2); // view, colset + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); } // End: if(aEapType == eap_type_fast) @@ -3430,8 +3353,16 @@ if (aSettings.iCipherSuitesPresent) { - sqlStatement.Format(KSQL, &ciphersuites, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQL, + &ciphersuites, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -3441,12 +3372,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); @@ -3455,34 +3386,44 @@ 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(KTunnelingType), aTunnelingVendorType); + 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(KCipherSuite), aSettings.iCipherSuites[i]); - view.PutL(); + view.PutL(); } - CleanupStack::PopAndDestroy(2); // view, colset + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); } ///////////////////////// // 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, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQL, + &usercerts, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -3492,7 +3433,7 @@ // Delete old rows if (view.FirstL()) - { + { do { view.DeleteL(); } while (view.NextL() != EFalse); @@ -3506,18 +3447,20 @@ 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].iCertType == CertificateEntry::EUser) + if (aSettings.iCertificates[i]->GetIsEnabledPresent() + && aSettings.iCertificates[i]->GetIsEnabled() + && aSettings.iCertificates[i]->GetCertType() == EapCertificateEntry::EUser) { // Validate the length and save other certificate details to the DB. - 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) + 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) { // Too long data. Can not be stored in DB. @@ -3527,36 +3470,48 @@ } EAP_TRACE_DATA_DEBUG_SYMBIAN(("THIS IS SubjectKeyID:", - aSettings.iCertificates[i].iSubjectKeyID.Ptr(), aSettings.iCertificates[i].iSubjectKeyID.Size())); + aSettings.iCertificates[i]->GetSubjectKeyId().Ptr(), + aSettings.iCertificates[i]->GetSubjectKeyId().Length())); // 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(KTunnelingType), aTunnelingVendorType); + view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); - 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); + 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()); // Special for thumb print (finger print). Need to convert it to 8 bits before storing in DB TBuf8 thumbPrint8Bit; - thumbPrint8Bit.Copy(aSettings.iCertificates[i].iThumbprint); + thumbPrint8Bit.Copy(*(aSettings.iCertificates[i]->GetThumbprint())); view.SetColL(colSet->ColNo(KThumbprint), thumbPrint8Bit); - view.SetColL(colSet->ColNo(KSubjectKeyIdentifier), aSettings.iCertificates[i].iSubjectKeyID); + view.SetColL(colSet->ColNo(KSubjectKeyIdentifier), aSettings.iCertificates[i]->GetSubjectKeyId()); view.PutL(); - } + } } - CleanupStack::PopAndDestroy(2); // view, colset + + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); // Do the same for CA certificates. - sqlStatement.Format(KSQL, &cacerts, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQL, + &cacerts, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -3566,7 +3521,7 @@ // Delete old rows if (view.FirstL()) - { + { do { view.DeleteL(); } while (view.NextL() != EFalse); @@ -3578,14 +3533,16 @@ for (i = 0; i < aSettings.iCertificates.Count(); i++) { - if (aSettings.iCertificates[i].iCertType == CertificateEntry::ECA) + if (aSettings.iCertificates[i]->GetIsEnabledPresent() + && aSettings.iCertificates[i]->GetIsEnabled() + && aSettings.iCertificates[i]->GetCertType() == EapCertificateEntry::ECA) { // Validate the length and save other certificate details to the DB. - 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) + 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) { // Too long data. Can not be stored in DB. @@ -3599,47 +3556,52 @@ view.InsertL(); view.SetColL(colSet->ColNo(KServiceType), static_cast(aIndexType)); view.SetColL(colSet->ColNo(KServiceIndex), static_cast(aIndex)); - view.SetColL(colSet->ColNo(KTunnelingType),aTunnelingVendorType); + view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aTunnelingType.get_vendor_id()); + view.SetColL(colSet->ColNo(KTunnelingType), aTunnelingType.get_vendor_type()); - 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); + 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()); // Special for thumb print (finger print). Need to convert it to 8 bits before storing in DB TBuf8 thumbPrint8Bit; - thumbPrint8Bit.Copy(aSettings.iCertificates[i].iThumbprint); + thumbPrint8Bit.Copy(*(aSettings.iCertificates[i]->GetThumbprint())); 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].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() ) ); + 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() ) ); + EAP_TRACE_SETTINGS(aSettings.iCertificates[i]); + view.PutL(); } } - CleanupStack::PopAndDestroy(2); // view, colset + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); - CleanupStack::PopAndDestroy(certFetcher); + //CleanupStack::PopAndDestroy(certFetcher); } // End of if (aSettings.iCertificatesPresent) - CleanupStack::PopAndDestroy(); // buf + CleanupStack::PopAndDestroy(buf); ///////////////////// // Encapsulated types ///////////////////// - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL - aSettings.iEncapsulatedEAPTypesPresent=%d \n"), aSettings.iEncapsulatedEAPTypesPresent ) ); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::SetConfigurationL(): aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent=%d \n"), aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent ) ); // 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 iEncapsulatedEAPTypesPresent is set true for EAP-TLS by the caller. + // This is just to be on safe side. In case if iEnabledEncapsulatedEAPExpandedTypesPresent is set true for EAP-TLS by the caller. if ( aEapType != eap_type_peap && aEapType != eap_type_ttls #ifdef USE_FAST_EAP_TYPE @@ -3647,25 +3609,23 @@ #endif ) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::SetConfigurationL - End - Since no encapsulated type for the EAPType =%d \n"), - aEapVendorType ) ); + 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() ) ); return; // No need to proceed. No encapsulated type for EAP-TLS.. } -#ifdef USE_EAP_EXPANDED_TYPES - - if (aSettings.iEncapsulatedEAPTypesPresent) + if (aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent) { - RExpandedEapTypePtrArray enabledEAPTypes; + RPointerArray enabledEAPTypes; // This is just for dummy. All EAP types available here are enabled as default. - RExpandedEapTypePtrArray disabledEAPTypes; - SExpandedEAPType* expandedEAPTmp = 0; - - for (TInt i = 0; i < aSettings.iEncapsulatedEAPTypes.Count(); i++) + RPointerArray disabledEAPTypes; + TEapExpandedType* expandedEAPTmp = 0; + + for (TInt i = 0; i < aSettings.iEnabledEncapsulatedEAPExpandedTypes.Count(); i++) { - expandedEAPTmp = new SExpandedEAPType; + expandedEAPTmp = new TEapExpandedType; if (expandedEAPTmp == 0) { @@ -3675,50 +3635,24 @@ 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) + + // Now copy the 8 byte string to expandedEAPTmp. + *expandedEAPTmp = aSettings.iEnabledEncapsulatedEAPExpandedTypes[i].GetValue(); + + 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) { - 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); + delete expandedEAPTmp; + expandedEAPTmp = 0; } - - // 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->iExpandedEAPType.Copy(tmpExpBuffer, KExpandedEAPTypeSize); - - EAP_TRACE_DATA_DEBUG_SYMBIAN( - ("EapTlsPeapUtils::SetConfigurationL: Expanded EAp type string", - expandedEAPTmp->iExpandedEAPType.Ptr(), - expandedEAPTmp->iExpandedEAPType.Size() ) ); - - - enabledEAPTypes.Append(expandedEAPTmp); } - - TRAPD(error, SetTunnelingExpandedEapDataL( + + TRAPD(error, SetTunnelingExpandedEapDataL( aDatabase, 0, enabledEAPTypes, @@ -3730,7 +3664,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(); @@ -3746,60 +3680,87 @@ disabledEAPTypes.Close(); } - -#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") ) ); + + 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() // --------------------------------------------------------- @@ -3812,21 +3773,16 @@ 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 aIndexType=%d, aIndex=%d, Tunneling vendor type=%d, Eap vendor type=%d \n"), - aIndexType,aIndex, aTunnelingVendorType, aEapVendorType)); + (_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")); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); @@ -3841,61 +3797,49 @@ TPtrC fastSpecialSettings; #endif - switch (aEapVendorType) + 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) { - 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; - + settings.Set(KTtlsDatabaseTableName); + usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); + maxSessionTime.Set(cf_str_EAP_TTLS_max_session_validity_time_literal); + } #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); - } - break; + 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); + } #endif - - - case eap_type_ttls_plain_pap: - { + 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 ); - } - break; - - default: + } + else + { // Should never happen User::Leave(KErrArgument); } @@ -3903,15 +3847,23 @@ RDbView view; // Form the query - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %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, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQL, + &settings, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -3928,26 +3880,51 @@ CDbColSet* colSet = view.ColSetL(); CleanupStack::PushL(colSet); - aSettings.iEAPType = static_cast(aEapVendorType); - - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL - aSettings.iEAPType=%d \n"),aSettings.iEAPType) ); - + 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())); + ////////////////////////////////////////// // This is only for plain PAP settings. // ////////////////////////////////////////// - if ( aEapType == eap_type_ttls_plain_pap ) - { + if ( aEapType == eap_expanded_type_ttls_plain_pap.get_type() ) + { // 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( @@ -3962,75 +3939,117 @@ CleanupStack::PopAndDestroy(3); // view, colset, buf return; + } + + + { + // 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; } - - - // 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) - { - aSettings.iUsernamePresent = EFalse; - } - else - { - aSettings.iUsernamePresent = ETrue; + else + { + aSettings.iUseAutomaticCACertificate = EFalse; + } } - - 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) + { - aSettings.iRealmPresent = EFalse; + // 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; + } } - else + { - aSettings.iRealmPresent = ETrue; + // 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; + } } - - 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) + { - aSettings.iVerifyServerRealm = EFalse; + // Username + TPtrC username = view.ColDes(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_username_literal)); + + aSettings.iUsernamePresent = ETrue; + + aSettings.iUsername.Copy(username); } - else + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): Settings.iUsername=%S \n"), &(aSettings.iUsername) ) ); + { - aSettings.iVerifyServerRealm = ETrue; + // Realm + TPtrC realm = view.ColDes(colSet->ColNo(cf_str_EAP_TLS_PEAP_manual_realm_literal)); + + aSettings.iRealmPresent = ETrue; + + aSettings.iRealm.Copy(realm); } - 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) + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::GetConfigurationL(): aSettings.iRealm=%S \n"),&(aSettings.iRealm)) ); + { - aSettings.iRequireClientAuthentication = EFalse; + // 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; } - else + { - aSettings.iRequireClientAuthentication = 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 + { + aSettings.iRequireClientAuthentication = ETrue; + } + aSettings.iRequireClientAuthenticationPresent = 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; + + { + // 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 @@ -4064,7 +4083,22 @@ aSettings.iPEAPVersionsPresent = ETrue; } - CleanupStack::PopAndDestroy(2); // view, colset + { + // 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); #ifdef USE_FAST_EAP_TYPE @@ -4074,8 +4108,16 @@ if(aEapType == eap_type_fast) { - sqlStatement.Format(KSQL, &fastSpecialSettings, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQL, + &fastSpecialSettings, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); // Evaluate view User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -4094,7 +4136,7 @@ // For provisioning modes. TUint authProvMode = view.ColUint(colSet->ColNo(cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode_literal)); - if(authProvMode == EFASTAuthProvModeAllowedNo) + if(authProvMode == EEapDbFalse) { aSettings.iAuthProvModeAllowed = EFalse; } @@ -4106,7 +4148,7 @@ aSettings.iAuthProvModeAllowedPresent = ETrue; TUint unauthProvMode = view.ColUint(colSet->ColNo(cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP_literal)); - if(unauthProvMode == EFASTUnauthProvModeAllowedNo) + if(unauthProvMode == EEapDbFalse) { aSettings.iUnauthProvModeAllowed = EFalse; } @@ -4119,7 +4161,7 @@ // For no PAC warning TUint warn = view.ColUint(colSet->ColNo(KFASTWarnADHPNoPAC)); - if(warn == EFASTWarnADHPNoPACNo) + if(warn == EEapDbFalse) { aSettings.iWarnADHPNoPAC = EFalse; } @@ -4132,7 +4174,7 @@ // For no matching PAC warning warn = view.ColUint(colSet->ColNo(KFASTWarnADHPNoMatchingPAC)); - if(warn == EFASTWarnADHPNoMatchingPACNo) + if(warn == EEapDbFalse) { aSettings.iWarnADHPNoMatchingPAC = EFalse; } @@ -4145,7 +4187,7 @@ // For no default server warning warn = view.ColUint(colSet->ColNo(KFASTWarnNotDefaultServer)); - if(warn == EFASTWarnNotDefaultServerNo) + if(warn == EEapDbFalse) { aSettings.iWarnNotDefaultServer = EFalse; } @@ -4165,7 +4207,8 @@ aSettings.iPACGroupReferencePresent = ETrue; } - CleanupStack::PopAndDestroy(2); // view, colset + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); } // End: if(aEapType == eap_type_fast) @@ -4176,8 +4219,16 @@ // Cipher suites ////////////////// - sqlStatement.Format(KSQL, &ciphersuites, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQL, + &ciphersuites, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -4194,23 +4245,32 @@ do { view.GetL(); { - aSettings.iCipherSuites.Append(view.ColUint(colSet->ColNo(KCipherSuite))); + aSettings.iCipherSuites.AppendL(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(2); // view, colset + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); ///////////////// // User Certificates ///////////////// - sqlStatement.Format(KSQL, &usercerts, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQL, + &usercerts, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -4228,59 +4288,73 @@ view.GetL(); { // This is big object. - CertificateEntry * certEntry = new (ELeave) CertificateEntry; + EapCertificateEntry * certEntry = new (ELeave) EapCertificateEntry; CleanupStack::PushL(certEntry); - certEntry->iCertType = CertificateEntry::EUser; + certEntry->SetCertType(EapCertificateEntry::EUser); - certEntry->iSubjectName.Copy(view.ColDes(colSet->ColNo(KSubjectName))); - if(certEntry->iSubjectName.Length()) + certEntry->GetSubjectNameWritable()->Copy(view.ColDes(colSet->ColNo(KSubjectName))); + if(certEntry->GetSubjectName()->Length()) { - certEntry->iSubjectNamePresent = ETrue; + certEntry->SetSubjectNamePresent(); } - certEntry->iIssuerName.Copy(view.ColDes(colSet->ColNo(KIssuerName))); - if(certEntry->iIssuerName.Length()) + certEntry->GetIssuerNameWritable()->Copy(view.ColDes(colSet->ColNo(KIssuerName))); + if(certEntry->GetIssuerName()->Length()) { - certEntry->iIssuerNamePresent = ETrue; + certEntry->SetIssuerNamePresent(); } - certEntry->iSerialNumber.Copy(view.ColDes(colSet->ColNo(KSerialNumber))); - if(certEntry->iSerialNumber.Length()) + certEntry->GetSerialNumberWritable()->Copy(view.ColDes(colSet->ColNo(KSerialNumber))); + if(certEntry->GetSerialNumber()->Length()) { - certEntry->iSerialNumberPresent = ETrue; + certEntry->SetSerialNumberPresent(); } - certEntry->iSubjectKeyID.Copy(view.ColDes8(colSet->ColNo(KActualSubjectKeyIdentifier))); // This is the subjectkey id we got in SetConfigurationL - if(certEntry->iSubjectKeyID.Length()) + certEntry->GetSubjectKeyIdWritable()->Copy(view.ColDes8(colSet->ColNo(KActualSubjectKeyIdentifier))); // This is the subjectkey id we got in SetConfigurationL + if(certEntry->GetSubjectKeyId().Length()) { - certEntry->iSubjectKeyIDPresent = ETrue; + certEntry->SetSubjectKeyIdPresent(); } - certEntry->iThumbprint.Copy(view.ColDes8(colSet->ColNo(KThumbprint))); - if(certEntry->iThumbprint.Length()) + certEntry->GetThumbprintWritable()->Copy(view.ColDes8(colSet->ColNo(KThumbprint))); + if(certEntry->GetThumbprint()->Length()) { - certEntry->iThumbprintPresent = ETrue; + certEntry->SetThumbprintPresent(); } - 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); + 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); } } while (view.NextL() != EFalse); } - CleanupStack::PopAndDestroy(2); // view, colset + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); ///////////////// // CA Certificates ///////////////// - sqlStatement.Format(KSQL, &cacerts, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQL, + &cacerts, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement))); @@ -4298,131 +4372,62 @@ view.GetL(); { // This is big object. - CertificateEntry * certEntry = new (ELeave) CertificateEntry; + EapCertificateEntry * certEntry = new (ELeave) EapCertificateEntry; CleanupStack::PushL(certEntry); - certEntry->iCertType = CertificateEntry::ECA; + certEntry->SetCertType(EapCertificateEntry::ECA); - certEntry->iSubjectName.Copy(view.ColDes(colSet->ColNo(KSubjectName))); - if(certEntry->iSubjectName.Length()) + certEntry->GetSubjectNameWritable()->Copy(view.ColDes(colSet->ColNo(KSubjectName))); + if(certEntry->GetSubjectName()->Length()) { - certEntry->iSubjectNamePresent = ETrue; + certEntry->SetSubjectNamePresent(); } - certEntry->iIssuerName.Copy(view.ColDes(colSet->ColNo(KIssuerName))); - if(certEntry->iIssuerName.Length()) + certEntry->GetIssuerNameWritable()->Copy(view.ColDes(colSet->ColNo(KIssuerName))); + if(certEntry->GetIssuerName()->Length()) { - certEntry->iIssuerNamePresent = ETrue; + certEntry->SetIssuerNamePresent(); } - certEntry->iSerialNumber.Copy(view.ColDes(colSet->ColNo(KSerialNumber))); - if(certEntry->iSerialNumber.Length()) + certEntry->GetSerialNumberWritable()->Copy(view.ColDes(colSet->ColNo(KSerialNumber))); + if(certEntry->GetSerialNumber()->Length()) { - certEntry->iSerialNumberPresent = ETrue; + certEntry->SetSerialNumberPresent(); } - certEntry->iSubjectKeyID.Copy(view.ColDes8(colSet->ColNo(KActualSubjectKeyIdentifier))); // This is the subjectkey id we got in SetConfigurationL - if(certEntry->iSubjectKeyID.Length()) + certEntry->GetSubjectKeyIdWritable()->Copy(view.ColDes8(colSet->ColNo(KActualSubjectKeyIdentifier))); // This is the subjectkey id we got in SetConfigurationL + if(certEntry->GetSubjectKeyId().Length()) { - certEntry->iSubjectKeyIDPresent = ETrue; + certEntry->SetSubjectKeyIdPresent(); } - certEntry->iThumbprint.Copy(view.ColDes8(colSet->ColNo(KThumbprint))); - if(certEntry->iThumbprint.Length()) + certEntry->GetThumbprintWritable()->Copy(view.ColDes8(colSet->ColNo(KThumbprint))); + if(certEntry->GetThumbprint()->Length()) { - certEntry->iThumbprintPresent = ETrue; + certEntry->SetThumbprintPresent(); } - 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); + 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); } } while (view.NextL() != EFalse); } - 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")) ); - - + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); + ////////////////////// // Encapsulated types ////////////////////// @@ -4435,19 +4440,17 @@ #endif ) { - aSettings.iEncapsulatedEAPTypesPresent = EFalse; + aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent = EFalse; - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::GetConfigurationL - End - Since no encapsulated type for the EAPType =%d \n"), - aEapVendorType)); + 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())); return; // No need to proceed. Nothing more to provide. } - -#ifdef USE_EAP_EXPANDED_TYPES - - RExpandedEapTypePtrArray enabledEAPTypes; - RExpandedEapTypePtrArray disabledEAPTypes; + + RPointerArray enabledEAPTypes; + RPointerArray disabledEAPTypes; TRAPD(error, GetTunnelingExpandedEapDataL( aDatabase, @@ -4459,278 +4462,222 @@ aTunnelingType, aEapType)); - 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) + 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); + } + + { - // 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) + 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) { - 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); - } - - 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) + TRAP(error, (aPluginTool.ListAllEapPluginsL(aIndexType, aSymbTunnelingType, aPlugins))); + if (error != KErrNone) { - // Some EAP types are not allowed inside EAP-PEAP. - if (CEapType::IsDisallowedInsidePEAP(*eapImplArray[i])) - { - continue; - } - - 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); + 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)); } - - 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) - { - 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) + } + + 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) + { + // Filter out unimplemented disabled EAP-methods. + error = FilterEapMethods( + &disabledEAPTypes, + &aPlugins); + } + + 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) { - // Some EAP types are not allowed inside EAP-FAST. - if (CEapType::IsDisallowedInsidePEAP(*eapImplArray[i])) - { - continue; + const TEapExpandedType * const plugin_type = aPlugins[plugin_ind]; + if (plugin_type == 0) + { + error = KErrNoMemory; + break; } - - expandedEAPTmp = new SExpandedEAPType; - if (expandedEAPTmp == 0) + + TEapExpandedType * const disabled_eap_type = new TEapExpandedType; + if (disabled_eap_type != 0) { - enabledEAPTypes.ResetAndDestroy(); - disabledEAPTypes.ResetAndDestroy(); - enabledEAPTypes.Close(); - disabledEAPTypes.Close(); - - eapImplArray.ResetAndDestroy(); - eapImplArray.Close(); - - User::Leave(KErrNoMemory); + *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; + } } - - 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"), + } // 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"), 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.iEncapsulatedEAPTypes here. - - for (TInt i = 0; i < enabledEAPTypes.Count(); i++) + // Fill aSettings.iEnabledEncapsulatedEAPExpandedTypes here. + { - eap_expanded_type_c expEAPTmp; + 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_TRACE_DEBUG_SYMBIAN( + (_L("EapTlsPeapUtils::GetConfigurationL(): aSettings.iEnabledEncapsulatedEAPExpandedTypes.Count()=%d \n"), + aSettings.iEnabledEncapsulatedEAPExpandedTypes.Count())); + + aSettings.iEnabledEncapsulatedEAPExpandedTypesPresent = ETrue; - // 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()); + } + + { + 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_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::GetConfigurationL - Available encapsulated type for this EAP(%d)=%d\n"), - aEapVendorType, expEAPTmp.get_vendor_type())); } - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::GetConfigurationL - aSettings.iEncapsulatedEAPTypes.Count()=%d \n"), - aSettings.iEncapsulatedEAPTypes.Count())); + + EAP_TRACE_SETTINGS(&aSettings); 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, @@ -4742,29 +4689,37 @@ const TInt aDestIndex, const eap_type_value_e aDestTunnelingType) { -#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)); + 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")); HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); - _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %S=%d AND %S=%d"); - - sqlStatement.Format(KSQL, &aTableName, - &KServiceType, aDestIndexType, &KServiceIndex, aDestIndex, &KTunnelingType, aDestTunnelingVendorType); + _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()); RDbView view; @@ -4779,26 +4734,36 @@ 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(KTunnelingType)) == aDestTunnelingVendorType) + && view.ColUint(colSet->ColNo(KTunnelingTypeVendorId)) == aDestTunnelingType.get_vendor_id() + && view.ColUint(colSet->ColNo(KTunnelingType)) == aDestTunnelingType.get_vendor_type()) { - 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, &KTunnelingType, aSrcTunnelingVendorType); + sqlStatement.Format(KSQL, + &aTableName, + &KServiceType, + aSrcIndexType, + &KServiceIndex, + aSrcIndex, + &KTunnelingTypeVendorId, + aSrcTunnelingType.get_vendor_id(), + &KTunnelingType, + aSrcTunnelingType.get_vendor_type()); User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited , RDbView::EUpdatable)); @@ -4822,17 +4787,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(KTunnelingType)) != aDestTunnelingVendorType) + || view.ColUint(colSet->ColNo(KTunnelingTypeVendorId)) != aDestTunnelingType.get_vendor_id() + || view.ColUint(colSet->ColNo(KTunnelingType)) != aDestTunnelingType.get_vendor_type()) { 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(KTunnelingType), aDestTunnelingVendorType); + view.SetColL(colSet->ColNo(KTunnelingTypeVendorId), aDestTunnelingType.get_vendor_id()); + view.SetColL(colSet->ColNo(KTunnelingType), aDestTunnelingType.get_vendor_type()); view.PutL(); @@ -4849,7 +4814,9 @@ view.Close(); - CleanupStack::PopAndDestroy(3); // view, colset, buf + CleanupStack::PopAndDestroy(colSet); + CleanupStack::PopAndDestroy(&view); + CleanupStack::PopAndDestroy(buf); } // EapTlsPeapUtils::CopySettingsL() @@ -4864,20 +4831,16 @@ 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::DeleteConfigurationL:Start:aIndexType=%d,aIndex=%d,aTunnelingVendorType=%d,aEapVendorType=%d"), - aIndexType, aIndex, aTunnelingVendorType, aEapVendorType)); + 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")); TPtrC dbname; TPtrC settings; @@ -4889,123 +4852,93 @@ TPtrC fastSpecialSettings; #endif - switch (aEapVendorType) + 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) { - 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; - + dbname.Set(KTtlsDatabaseName); + settings.Set(KTtlsDatabaseTableName); + usercerts.Set(KTtlsAllowedUserCertsDatabaseTableName); + cacerts.Set(KTtlsAllowedCACertsDatabaseTableName); + ciphersuites.Set(KTtlsAllowedCipherSuitesDatabaseTableName); + } #ifdef USE_FAST_EAP_TYPE - - 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; + 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); + } #endif - - case eap_type_ttls_plain_pap: - { - dbname.Set( KTtlsDatabaseName ); - settings.Set( KTtlsDatabaseTableName ); - } - break; - - default: + else if (aEapType == eap_expanded_type_ttls_plain_pap.get_type()) + { + dbname.Set( KTtlsDatabaseName ); + settings.Set( KTtlsDatabaseTableName ); + } + else + { // Should never happen User::Leave(KErrArgument); } - 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) + 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) { // Database was created so it was empty. No need for further actions. - database.Destroy(); - CleanupStack::PopAndDestroy(); + aDatabase.Destroy(); + CleanupStack::PopAndDestroy(&aDatabase); + CleanupStack::PopAndDestroy(&aFileServerSession); return; - - } - else if (err != KErrAlreadyExists) + } + else if (error != KErrAlreadyExists) { - User::LeaveIfError(err); + 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 + 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); + HBufC* buf = HBufC::NewLC(KMaxSqlQueryLength); TPtr sqlStatement = buf->Des(); @@ -5013,160 +4946,202 @@ 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"); + _LIT(KSQL, "SELECT * FROM %S WHERE %S=%d AND %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, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQL, + &settings, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); // Evaluate view RDbView view; - User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + User::LeaveIfError(view.Prepare(aDatabase, 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 ( aEapVendorType == eap_type_ttls_plain_pap ) - { - CleanupStack::PopAndDestroy(3); // buf, database, session - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: Return"))); + 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"))); // we return here in case of pap because there is nothing to do else. return; - } + } //--------------------- Deletion 2 ----------------------------// - // 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); + // 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()); // Evaluate view - User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + User::LeaveIfError(view.Prepare(aDatabase, 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" - - sqlStatement.Format(KSQL, &cacerts, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + // 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()); // Evaluate view - User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + User::LeaveIfError(view.Prepare(aDatabase, 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" - - sqlStatement.Format(KSQL, &ciphersuites, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + // 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()); // Evaluate view - User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); if (view.FirstL()) - { + { do { view.DeleteL(); } while (view.NextL() != EFalse); } - CleanupStack::PopAndDestroy(&view); // Close view + CleanupStack::PopAndDestroy(&view); - EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: Deleted cipher suits table"))); + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL(): Deleted cipher suits table"))); #ifdef USE_FAST_EAP_TYPE - if(aEapVendorType == eap_type_fast) + if(aEapType == eap_type_fast) { //--------------------- Deletion 5 ----------------------------// // For EAP-FAST, delete the special settings table - sqlStatement.Format(KSQL, &fastSpecialSettings, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQL, + &fastSpecialSettings, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); // Evaluate view - User::LeaveIfError(view.Prepare(database,TDbQuery(sqlStatement), TDbWindow::EUnlimited)); + User::LeaveIfError(view.Prepare(aDatabase, TDbQuery(sqlStatement), TDbWindow::EUnlimited)); CleanupClosePushL(view); User::LeaveIfError(view.EvaluateAll()); if (view.FirstL()) - { + { do { view.DeleteL(); } while (view.NextL() != EFalse); } - CleanupStack::PopAndDestroy(&view); // Close view + CleanupStack::PopAndDestroy(&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 - - // Close database - CleanupStack::PopAndDestroy(3); // buf, database, session - -EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: End"))); + + CleanupStack::PopAndDestroy(buf); + CleanupStack::PopAndDestroy(&aDatabase); + CleanupStack::PopAndDestroy(&aFileServerSession); + + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::DeleteConfigurationL: End"))); } // EapTlsPeapUtils::DeleteConfigurationL() @@ -5179,14 +5154,21 @@ 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) @@ -5202,53 +5184,65 @@ //| 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 ); // Delete buf or sqlStatement + CleanupStack::PopAndDestroy(buf); } - CleanupStack::PopAndDestroy( colSetCertTable ); // Delete colSetCertTable. + CleanupStack::PopAndDestroy(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() @@ -5265,26 +5259,19 @@ 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, 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)); + (_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)); TBufC generalSettingsTableName; @@ -5293,45 +5280,41 @@ #endif // Set the database table name based on the type - switch (aEapVendorType) + if (aEapType == eap_type_tls) + { + generalSettingsTableName = KTlsDatabaseTableName; + } + else if (aEapType == eap_type_peap) { - 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; - + 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) - case eap_type_fast: - generalSettingsTableName = KFastGeneralSettingsDBTableName; // General settings - specialSettingsTableName = KFastSpecialSettingsDBTableName; // Special settings for only FAST - break; + else if (aEapType == eap_type_fast) + { + generalSettingsTableName = KFastGeneralSettingsDBTableName; // General settings + specialSettingsTableName = KFastSpecialSettingsDBTableName; // Special settings for only FAST + } #endif // #if defined (USE_FAST_EAP_TYPE) - - default: - { - // Unsupported EAP type - // Should never happen - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::GetEapSettingsDataL: ERROR: Unsupported EAP type=%d"), - aEapVendorType)); - - User::Leave(KErrArgument); - } + 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); } if(aDbColumnName.Size() <= 0) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::GetEapSettingsDataL: ERROR: No Column Name!\n"))); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::GetEapSettingsDataL(): No Column Name!\n"))); User::Leave(KErrArgument); } @@ -5340,7 +5323,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"); + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); #if defined(USE_FAST_EAP_TYPE) @@ -5359,26 +5342,52 @@ 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, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQLQueryRow, + &aDbColumnName, + &specialSettingsTableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); } else { - sqlStatement.Format(KSQLQueryRow, &aDbColumnName, &generalSettingsTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQLQueryRow, + &aDbColumnName, + &generalSettingsTableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); } #else { - sqlStatement.Format(KSQLQueryRow, &aDbColumnName, &generalSettingsTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQLQueryRow, + &aDbColumnName, + &generalSettingsTableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); } #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; @@ -5489,20 +5498,18 @@ } } - CleanupStack::PopAndDestroy( &view ); // Close view. + CleanupStack::PopAndDestroy( &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() @@ -5520,25 +5527,20 @@ 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, 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)); + (_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)); EAP_TRACE_DATA_DEBUG_SYMBIAN(("SetEapSettingsDataL:DbColumnValue:", aDbColumnValue->get_data(aDbColumnValue->get_data_length()), @@ -5551,45 +5553,41 @@ #endif // Set the database table name based on the type - switch (aEapVendorType) + if (aEapType == eap_type_tls) + { + generalSettingsTableName = KTlsDatabaseTableName; + } + else if (aEapType == eap_type_peap) { - 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; - + 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) - case eap_type_fast: - generalSettingsTableName = KFastGeneralSettingsDBTableName; // General settings - specialSettingsTableName = KFastSpecialSettingsDBTableName; // Special settings for only FAST - break; + else if (aEapType == eap_type_fast) + { + generalSettingsTableName = KFastGeneralSettingsDBTableName; // General settings + specialSettingsTableName = KFastSpecialSettingsDBTableName; // Special settings for only FAST + } #endif // #if defined (USE_FAST_EAP_TYPE) - - default: - { - // Unsupported EAP type - // Should never happen - - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: Unsupported EAP type=%d"), - aEapVendorType)); - - User::Leave(KErrArgument); - } + 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); } - + if(aDbColumnName.Size() <= 0) { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: No Column Name!\n"))); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetEapSettingsDataL(): No Column Name!\n"))); User::Leave(KErrArgument); } @@ -5598,7 +5596,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"); + _LIT(KSQLQueryRow, "SELECT %S FROM %S WHERE %S=%d AND %S=%d AND %S=%d AND %S=%d"); #if defined(USE_FAST_EAP_TYPE) @@ -5617,26 +5615,52 @@ 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, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQLQueryRow, + &aDbColumnName, + &specialSettingsTableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); } else { - sqlStatement.Format(KSQLQueryRow, &aDbColumnName, &generalSettingsTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQLQueryRow, + &aDbColumnName, + &generalSettingsTableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); } #else { - sqlStatement.Format(KSQLQueryRow, &aDbColumnName, &generalSettingsTableName, - &KServiceType, aIndexType, &KServiceIndex, aIndex, &KTunnelingType, aTunnelingVendorType); + sqlStatement.Format(KSQLQueryRow, + &aDbColumnName, + &generalSettingsTableName, + &KServiceType, + aIndexType, + &KServiceIndex, + aIndex, + &KTunnelingTypeVendorId, + aTunnelingType.get_vendor_id(), + &KTunnelingType, + aTunnelingType.get_vendor_type()); } #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; @@ -5689,10 +5713,9 @@ #if defined (USE_FAST_EAP_TYPE) - 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); + 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); #endif // End: #if defined (USE_FAST_EAP_TYPE) } @@ -5702,8 +5725,7 @@ { // Do some lexical analysis to get TInt64 value here and set it in DB. - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: EDbColInt64 not supported here yet!\n"))); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetEapSettingsDataL(): EDbColInt64 not supported here yet!\n"))); User::Leave(KErrNotSupported); } @@ -5712,16 +5734,14 @@ case EDbColLongBinary: { // This needs special handling. (readstream). Not needed in this DB yet. - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: EDbColLongBinary not supported in this DB!\n"))); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetEapSettingsDataL(): EDbColLongBinary not supported in this DB!\n"))); User::Leave(KErrNotSupported); } break; default: - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: Unsupported DB field! \n"))); + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetEapSettingsDataL: Unsupported DB field! \n"))); User::Leave(KErrNotSupported); break; @@ -5732,8 +5752,7 @@ } // End: if(view.ColCount() == KDefaultColumnInView_One) else { - EAP_TRACE_DEBUG_SYMBIAN( - (_L("EapTlsPeapUtils::SetEapSettingsDataL: ERROR: Too many columns in DB view, count=%d \n"), + EAP_TRACE_DEBUG_SYMBIAN((_L("ERROR: EapTlsPeapUtils::SetEapSettingsDataL(): Too many columns in DB view, count=%d \n"), view.ColCount())); User::Leave(KErrNotFound); @@ -5743,94 +5762,105 @@ // Now it should go to the DB. view.PutL(); - CleanupStack::PopAndDestroy( &view ); // Close view. + CleanupStack::PopAndDestroy( &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 ) - { - - 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() ) ); + 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 ); - if ( aCmd == EAddColumn ) + 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 ) { - // 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; - } + EAP_TRACE_DEBUG_SYMBIAN((_L("EapTlsPeapUtils::AlterTableL() Column \"%S\" exists already in table \"%S\".\n" ), + &aColumnName, + &aTableName)); + CleanupStack::PopAndDestroy( colSet ); + return; } - else + } + else + { + // Check if there is a target column + if( colSet->ColNo( aColumnName ) == KDbNullColNo ) { - // 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; - } + 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" ); + } + + HBufC* buf = HBufC::NewLC( KMaxSqlQueryLength ); + TPtr sqlStatement = buf->Des(); - 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 ) ); + _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); + } - 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() + 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/ttls_pap/symbian/inc/eap_ttls_pap_active.h --- a/eapol/eapol_framework/eapol_symbian/am/type/ttls_pap/symbian/inc/eap_ttls_pap_active.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,307 +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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/type/ttls_pap/symbian/src/eap_ttls_pap_active.cpp --- a/eapol/eapol_framework/eapol_symbian/am/type/ttls_pap/symbian/src/eap_ttls_pap_active.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,773 +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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/am/wlaneapolif/data/2000b05a.rss --- a/eapol/eapol_framework/eapol_symbian/am/wlaneapolif/data/2000b05a.rss Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/wlaneapolif/data/2000b05a.rss Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6 % +* %version: 3.1.2 % */ #include diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/wlaneapolif/inc/wlan_eapol_if_implementation.h Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 6 % +* %version: % */ #ifndef _WLAN_EAPOL_INTERFACE_IMPLEMENTATION_H_ diff -r 30e048a7b597 -r bad0cc58d154 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 Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/wlaneapolif/src/wlan_eapol_if_implementation.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 5.1.3 % +* %version: % */ // INCLUDES diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/bwins/EAPOLPROTECTEDu.DEF --- a/eapol/eapol_framework/eapol_symbian/bwins/EAPOLPROTECTEDu.DEF Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/bwins/EAPOLPROTECTEDu.DEF Tue Aug 31 15:16:37 2010 +0300 @@ -1,1502 +1,436 @@ 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) - ?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_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 *) ?cancel_all_timers@ethernet_core_c@@UAE?AW4eap_status_e@@XZ @ 31 NONAME ; enum eap_status_e ethernet_core_c::cancel_all_timers(void) - ?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) + ?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 *) ?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 *) - ?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) + ??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 *) ?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 - ?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) + ??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) diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/bwins/EapAuthServeru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/bwins/EapAuthServeru.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,107 @@ +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/bwins/eap_notifieru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eap_notifieru.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,5 @@ +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/bwins/eapakau.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eapakau.def Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eapakau.def Tue Aug 31 15:16:37 2010 +0300 @@ -1,3 +1,245 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/bwins/eapclientifu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eapclientifu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,10 @@ +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/bwins/eapcoreinterfaceimplementationu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eapcoreinterfaceimplementationu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,6 @@ +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/bwins/eapcoreinterfaceu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eapcoreinterfaceu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,10 @@ +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/bwins/eapgeneralsettingsu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eapgeneralsettingsu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,29 @@ +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/bwins/eapgenericu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eapgenericu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,112 @@ +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/bwins/eapmschapv2u.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eapmschapv2u.def Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eapmschapv2u.def Tue Aug 31 15:16:37 2010 +0300 @@ -1,3 +1,80 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/bwins/eapprotectedsetupu.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eapprotectedsetupu.def Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eapprotectedsetupu.def Tue Aug 31 15:16:37 2010 +0300 @@ -1,3 +1,292 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/bwins/eapsecuridu.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eapsecuridu.def Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eapsecuridu.def Tue Aug 31 15:16:37 2010 +0300 @@ -1,3 +1,35 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/bwins/eapsimu.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eapsimu.def Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eapsimu.def Tue Aug 31 15:16:37 2010 +0300 @@ -1,3 +1,233 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/bwins/eaptlspeapu.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eaptlspeapu.def Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eaptlspeapu.def Tue Aug 31 15:16:37 2010 +0300 @@ -1,3 +1,741 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/bwins/eapvpnifu.def --- a/eapol/eapol_framework/eapol_symbian/bwins/eapvpnifu.def Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/bwins/eapvpnifu.def Tue Aug 31 15:16:37 2010 +0300 @@ -1,3 +1,30 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/bwins/wlaneapolifu.def --- a/eapol/eapol_framework/eapol_symbian/bwins/wlaneapolifu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -EXPORTS - ?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &) - diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eabi/EAPOLPROTECTEDu.DEF --- a/eapol/eapol_framework/eapol_symbian/eabi/EAPOLPROTECTEDu.DEF Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/eabi/EAPOLPROTECTEDu.DEF Tue Aug 31 15:16:37 2010 +0300 @@ -1,2043 +1,604 @@ 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_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 + _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 diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eabi/EapAuthServeru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eabi/EapAuthServeru.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,222 @@ +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eabi/eap_notifieru.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eap_notifieru.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,5 @@ +EXPORTS + _ZN16CEapAuthNotifier4NewLER21MNotificationCallback @ 1 NONAME + _ZN16CEapAuthNotifier6CancelEv @ 2 NONAME + _ZN16CEapAuthNotifier6StartLENS_16EEapNotifierTypeEPNS_14TEapDialogInfoER16TEapExpandedType @ 3 NONAME + diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eabi/eapakau.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eapakau.def Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eapakau.def Tue Aug 31 15:16:37 2010 +0300 @@ -1,3 +1,344 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eabi/eapclientifu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eapclientifu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,25 @@ +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eabi/eapcoreinterfaceimplementationu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eapcoreinterfaceimplementationu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,13 @@ +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eabi/eapcoreinterfaceu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eapcoreinterfaceu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,18 @@ +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eabi/eapgeneralsettingsu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eapgeneralsettingsu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,70 @@ +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eabi/eapgenericu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eapgenericu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,178 @@ +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eabi/eapmschapv2u.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eapmschapv2u.def Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eapmschapv2u.def Tue Aug 31 15:16:37 2010 +0300 @@ -1,3 +1,139 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eabi/eapprotectedsetupu.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eapprotectedsetupu.def Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eapprotectedsetupu.def Tue Aug 31 15:16:37 2010 +0300 @@ -1,3 +1,426 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eabi/eapsecuridu.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eapsecuridu.def Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eapsecuridu.def Tue Aug 31 15:16:37 2010 +0300 @@ -1,3 +1,75 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eabi/eapsimu.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eapsimu.def Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eapsimu.def Tue Aug 31 15:16:37 2010 +0300 @@ -1,3 +1,342 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eabi/eaptlspeapu.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eaptlspeapu.def Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eaptlspeapu.def Tue Aug 31 15:16:37 2010 +0300 @@ -1,3 +1,1079 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eabi/eapvpnifu.def --- a/eapol/eapol_framework/eapol_symbian/eabi/eapvpnifu.def Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/eabi/eapvpnifu.def Tue Aug 31 15:16:37 2010 +0300 @@ -1,3 +1,72 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eabi/wlaneapolifu.def --- a/eapol/eapol_framework/eapol_symbian/eabi/wlaneapolifu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -EXPORTS - _Z24ImplementationGroupProxyRi @ 1 NONAME - diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/data/20026FC8.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/data/20026FC8.rss Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,57 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/data/20026fcd.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/data/20026fcd.rss Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,57 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/data/20026fd1.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/data/20026fd1.rss Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,57 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/data/20026fd6.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/data/20026fd6.rss Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,57 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/data/2002BC91.rss --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/data/2002BC91.rss Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,57 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/include/EapClientIf.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/include/EapClientIf.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,41 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/include/EapCoreInterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/include/EapCoreInterface.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,93 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/include/EapCoreInterfaceImplementation.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/include/EapCoreInterfaceImplementation.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,153 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/include/EapFastPacStoreImpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/include/EapFastPacStoreImpl.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,133 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/include/EapGeneralSettingsImpl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/include/EapGeneralSettingsImpl.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,166 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/include/EapProcessInterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/include/EapProcessInterface.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,110 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/include/EapProcessInterface.inl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/include/EapProcessInterface.inl Tue Aug 31 15:16:37 2010 +0300 @@ -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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/include/EapSendInterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/include/EapSendInterface.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,56 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/include/REapSession.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/include/REapSession.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,200 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/include/SendPacketHandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/include/SendPacketHandler.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,37 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/include/eap_am_message_if_symbian.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/include/eap_am_message_if_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,110 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/src/EapClientIf.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/src/EapClientIf.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,44 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/src/EapCoreInterface.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/src/EapCoreInterface.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,204 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/src/EapCoreInterfaceImplementation.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/src/EapCoreInterfaceImplementation.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,268 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/src/EapFastPacStoreImpl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/src/EapFastPacStoreImpl.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,875 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/src/EapGeneralSettingsImpl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/src/EapGeneralSettingsImpl.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,850 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/src/EapGeneralSettingsProxy.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/src/EapGeneralSettingsProxy.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,51 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/src/REapSession.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/src/REapSession.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,732 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_if/src/eap_am_message_if_symbian.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_if/src/eap_am_message_if_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,249 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/AbsEapProcessSendInterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/AbsEapProcessSendInterface.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,50 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/AbsEapSendInterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/AbsEapSendInterface.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,46 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/EapCoreIf.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/EapCoreIf.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,97 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/EapPluginIf.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/EapPluginIf.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,95 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/EapScheduler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/EapScheduler.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,108 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/EapServer.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/EapServer.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,98 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerBackup.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerBackup.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,80 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerClientDef.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerClientDef.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,75 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerProcessHandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerProcessHandler.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,95 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerStrings.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/EapServerStrings.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,59 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/EapSession.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/EapSession.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,85 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/EapSettingsIf.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/EapSettingsIf.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,94 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/PacStoreIf.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/PacStoreIf.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,99 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_general_settings_symbian.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_general_settings_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,187 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_pac_store_symbian.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_pac_store_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,121 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_plugin_symbian.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_plugin_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,113 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_stack_symbian.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/eap_am_stack_symbian.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,186 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/include/eap_loaded_type.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/include/eap_loaded_type.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,88 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/src/EapCoreIf.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/src/EapCoreIf.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,219 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/src/EapPluginIf.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/src/EapPluginIf.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,321 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/src/EapScheduler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/src/EapScheduler.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,197 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/src/EapServer.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/src/EapServer.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,539 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerBackup.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerBackup.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,150 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerExe.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerExe.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,31 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerProcessHandler.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerProcessHandler.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,921 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerStrings.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/src/EapServerStrings.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,94 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/src/EapSession.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/src/EapSession.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,542 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/src/EapSettingsIf.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/src/EapSettingsIf.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,288 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/src/PacStoreIf.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/src/PacStoreIf.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,263 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_general_settings_symbian.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_general_settings_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,2660 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_pac_store_symbian.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_pac_store_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,494 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_plugin_symbian.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_plugin_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,1110 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_stack_symbian.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/src/eap_am_stack_symbian.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,1563 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/eap_server/src/eap_loaded_type.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/eap_server/src/eap_loaded_type.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,98 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/backup_registration.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/group/backup_registration.xml Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,7 @@ + + + + + + + diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/bld.inf --- a/eapol/eapol_framework/eapol_symbian/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/bld.inf Tue Aug 31 15:16:37 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2006 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -16,7 +16,7 @@ */ /* -* %version: 3 % +* %version: 37 % */ #include @@ -26,41 +26,57 @@ 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 related databases. Exported to the private cage path for WLAN engine. +// Backup registration file for backing up all EAPOL databases. Exported to the private cage path of 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 -// Copies configuration file of EAPOL. +// 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 ../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 -#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 - +// 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 PRJ_MMPFILES -// This compiles stub of EAPOL WPX, the empty functions that implement WPX. +// 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 eapolwpxstub.mmp // This is the basic set that should always be compiled for every environment. @@ -70,14 +86,14 @@ eapmschapv2.mmp eapsecurid.mmp eapaka.mmp +eapprotectedsetup.mmp +eapgeneric.mmp +eapgeneralsettings.mmp -// API for VPN. +// Interface for providing EAP authentication services to VPN eapvpnif.mmp -eapprotectedsetup.mmp - -// API for WLAN-engine. +// Iterface for providing authentication services to WLAN wlaneapolif.mmp - // End of file. diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eap_notifier.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/group/eap_notifier.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,49 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eapaka.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapaka.mmp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapaka.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 17.2.3 % +* %version: 17.1.12 % */ #include @@ -29,6 +29,8 @@ TARGET eapaka.dll UID 0x10009d8d 0x102073c1 +deffile eapaka.def + SOURCEPATH ../am/type/aka/symbian/plugin/src START RESOURCE 102073c1.rss @@ -55,15 +57,7 @@ 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 @@ -74,13 +68,9 @@ 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 eapol.lib edbms.lib efsrv.lib +LIBRARY euser.lib ecom.lib eaptools.lib eaptrace.lib eapsymbiantools.lib edbms.lib efsrv.lib LIBRARY cone.lib eikcoctl.lib eikctl.lib bafl.lib LIBRARY estor.lib // For RReadStream @@ -98,5 +88,7 @@ LIBRARY eikcore.lib LIBRARY hlplch.lib LIBRARY featmgr.lib + + //------------------------------------------------------------------- // End of File diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eapauthserver.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/group/eapauthserver.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,122 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eapauthserverexe.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/group/eapauthserverexe.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,58 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eapclientif.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/group/eapclientif.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,56 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eapcoreinterface.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/group/eapcoreinterface.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,56 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eapcoreinterfaceimplementation.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/group/eapcoreinterfaceimplementation.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,70 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eapgeneralsettings.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/group/eapgeneralsettings.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -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: 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eapgeneric.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/group/eapgeneric.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,94 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eapmschapv2.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapmschapv2.mmp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapmschapv2.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 18 % +* %version: 15.1.14 % */ #include @@ -29,6 +29,8 @@ TARGET eapmschapv2.dll UID 0x10009d8d 0x101F8E66 +deffile eapmschapv2.def + SOURCEPATH ../am/type/mschapv2/symbian/plugin/src START RESOURCE 101F8E66.rss @@ -58,16 +60,6 @@ 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 @@ -75,16 +67,14 @@ USERINCLUDE ../../eapol_common/am/include USERINCLUDE ../am/type/symbian/plugin/include USERINCLUDE ../../eapol_common/type - -//SYSTEMINCLUDE /epoc32/include/ecom -//SYSTEMINCLUDE /epoc32/include/libc -//SYSTEMINCLUDE /epoc32/include/cshelp +USERINCLUDE ../am/eap_notifier/inc MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. LIBRARY euser.lib LIBRARY ecom.lib -LIBRARY eapol.lib +LIBRARY eaptools.lib eaptrace.lib +LIBRARY eapsymbiantools.lib LIBRARY edbms.lib LIBRARY efsrv.lib LIBRARY cone.lib @@ -96,8 +86,14 @@ LIBRARY hlplch.lib LIBRARY featmgr.lib +LIBRARY HbCore.lib +LIBRARY HbWidgets.lib +LIBRARY eap_notifier.lib + LANG SC + + //------------------------------------------------------------------- //------------------------------------------------------------------- diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eapol.mmh --- a/eapol/eapol_framework/eapol_symbian/group/eapol.mmh Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapol.mmh Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 53 % +* %version: 48.1.18 % */ //------------------------------------------------------------------- @@ -70,12 +70,6 @@ // - - - - - - - - - - - - - - - - - - - - - - - - - - - - -// 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 @@ -91,6 +85,8 @@ #if defined(FF_WLAN_EXTENSIONS) +#warning FF_WLAN_EXTENSIONS enabled + MACRO USE_FAST_EAP_TYPE=1 #define USE_FAST_EAP_TYPE @@ -146,11 +142,6 @@ // 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 @@ -158,6 +149,9 @@ // 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) @@ -166,6 +160,9 @@ // 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 @@ -175,6 +172,9 @@ 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eapol.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapol.mmp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapol.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2006 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -16,7 +16,7 @@ */ /* -* %version: 42.1.2.1.2 % +* %version: 48 % */ //------------------------------------------------------------------- @@ -25,64 +25,23 @@ #include "eapol.mmh" //------------------------------------------------------------------- -CAPABILITY ALL -TCB +CAPABILITY CAP_GENERAL_DLL VENDORID VID_DEFAULT TARGET eapol.dll TARGETTYPE dll UID 0x1000008d 0x101f8e48 -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 +deffile eapolprotected.def SOURCEPATH ../../eapol_common/am/core SOURCE eapol_am_wlan_authentication.cpp SOURCEPATH ../am/core/symbian +SOURCE eapol_am_wlan_authentication_symbian.cpp -SOURCE eapol_am_wlan_authentication_symbian.cpp +SOURCEPATH ../am/common/symbian +SOURCE EapConfigToolsSymbian.cpp LIBRARY bafl.lib LIBRARY wlandbif.lib @@ -91,39 +50,12 @@ 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 @@ -137,6 +69,7 @@ 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 @@ -144,55 +77,47 @@ 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. -LIBRARY ecom.lib +#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 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eapolwpxstub.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapolwpxstub.mmp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapolwpxstub.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12.2.2 % +* %version: 12.1.5 % */ //------------------------------------------------------------------- @@ -49,6 +49,7 @@ 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 @@ -57,5 +58,6 @@ MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. + //------------------------------------------------------------------- // End of File diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eapprotectedsetup.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapprotectedsetup.mmp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapprotectedsetup.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 12.2.3 % +* %version: 16 % */ #include @@ -29,6 +29,8 @@ TARGET eapprotectedsetup.dll UID 0x10009d8d 0x2000b003 +deffile eapprotectedsetup.def + SOURCEPATH ../am/type/protected_setup/symbian/plugin/src START RESOURCE 2000b003.rss @@ -43,16 +45,10 @@ 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 @@ -79,77 +75,16 @@ 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 eapol.lib //edbms.lib efsrv.lib +LIBRARY euser.lib ecom.lib eaptools.lib eaptrace.lib eapsymbiantools.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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eapsecurid.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapsecurid.mmp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapsecurid.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 16.2.3 % +* %version: 16.1.14 % */ #include @@ -29,6 +29,8 @@ TARGET eapsecurid.dll UID 0x10009d8d 0x101F8E74 +deffile eapsecurid.def + SOURCEPATH ../am/type/securid/symbian/plugin/src START RESOURCE 101F8E74.rss @@ -56,16 +58,6 @@ 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 @@ -73,22 +65,24 @@ USERINCLUDE ../../eapol_common/am/include USERINCLUDE ../am/type/symbian/plugin/include USERINCLUDE ../../eapol_common/type - -//SYSTEMINCLUDE /epoc32/include/ecom -//SYSTEMINCLUDE /epoc32/include/libc -//SYSTEMINCLUDE /epoc32/include/cshelp +USERINCLUDE ../am/eap_notifier/inc MW_LAYER_SYSTEMINCLUDE // For the MiddleWare domain headers. -LIBRARY euser.lib ecom.lib eapol.lib edbms.lib efsrv.lib cone.lib eikcoctl.lib +LIBRARY euser.lib ecom.lib eaptools.lib eaptrace.lib eapsymbiantools.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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eapsim.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapsim.mmp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapsim.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 18.2.3 % +* %version: 18.1.14 % */ #include @@ -29,6 +29,8 @@ TARGET eapsim.dll UID 0x10009d8d 0x101f8e49 +deffile eapsim.def + SOURCEPATH ../am/type/gsmsim/symbian/plugin/src START RESOURCE 101f8e49.rss @@ -58,16 +60,7 @@ 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 @@ -75,10 +68,11 @@ 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 eapol.lib edbms.lib efsrv.lib +LIBRARY euser.lib ecom.lib eaptools.lib eaptrace.lib eapsymbiantools.lib edbms.lib efsrv.lib LIBRARY cone.lib eikcoctl.lib eikctl.lib bafl.lib LIBRARY estor.lib // For RReadStream @@ -99,5 +93,6 @@ LIBRARY hlplch.lib LIBRARY featmgr.lib + //------------------------------------------------------------------- // End of File diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eaptlspeap.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eaptlspeap.mmp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eaptlspeap.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 44.2.3 % +* %version: 44.1.18 % */ #include @@ -29,6 +29,8 @@ TARGET eaptlspeap.dll UID 0x10009d8d 0x101f8e4c +deffile eaptlspeap.def + SOURCEPATH ../am/type/tls_peap/symbian/plugin/src START RESOURCE 101f8e4c.rss @@ -49,6 +51,12 @@ 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 @@ -80,11 +88,7 @@ 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 @@ -98,10 +102,13 @@ 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 @@ -116,7 +123,10 @@ SOURCEPATH ../am/type/tls_peap/symbian/plugin/inc DOCUMENT 101f8e4c.loc -// UI +// old ui +USERINCLUDE ../am/include/eaptlspeap_db_api_inc + +// UI SOURCEPATH ../am/type/tls_peap/symbian/plugin/src SOURCE EapTlsPeapUiConnection.cpp SOURCE EapTlsPeapUiDataConnection.cpp @@ -126,26 +136,11 @@ 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 eapol.lib edbms.lib efsrv.lib cone.lib eikcoctl.lib +LIBRARY euser.lib ecom.lib eaptools.lib eaptrace.lib eapsymbiantools.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 @@ -160,6 +155,10 @@ LIBRARY charconv.lib //------------------------------------------------------------------- +LIBRARY HbCore.lib +LIBRARY HbWidgets.lib +LIBRARY eap_notifier.lib + //------------------------------------------------------------------- // End of File diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/eapvpnif.mmp --- a/eapol/eapol_framework/eapol_symbian/group/eapvpnif.mmp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/eapvpnif.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 11.2.3 % +* %version: 11.1.10 % */ #include @@ -31,12 +31,20 @@ // 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 @@ -46,6 +54,10 @@ 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 @@ -58,7 +70,8 @@ TARGET eapvpnif.rsc END -LIBRARY euser.lib ECom.lib eapol.lib edbms.lib efsrv.lib PlatformEnv.lib +LIBRARY euser.lib ECom.lib eaptools.lib eaptrace.lib eapsymbiantools.lib edbms.lib efsrv.lib PlatformEnv.lib DEBUGLIBRARY flogger.lib + // End diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/group/wlaneapolif.mmp --- a/eapol/eapol_framework/eapol_symbian/group/wlaneapolif.mmp Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/group/wlaneapolif.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -16,7 +16,7 @@ */ /* -* %version: 8.2.3 % +* %version: 8.1.8 % */ #include @@ -63,7 +63,7 @@ TARGET wlaneapolif.rsc END -LIBRARY euser.lib ECom.lib eapol.lib edbms.lib efsrv.lib +LIBRARY euser.lib ECom.lib eapol.lib edbms.lib efsrv.lib eaptools.lib eaptrace.lib eapsymbiantools.lib DEBUGLIBRARY flogger.lib #else @@ -72,4 +72,5 @@ #endif //#if defined(USE_EAPOL_WLAN_AUTHENTICATION_MESSAGE_IF) + // End diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/rom/eapol.iby --- a/eapol/eapol_framework/eapol_symbian/rom/eapol.iby Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/rom/eapol.iby Tue Aug 31 15:16:37 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2006 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -11,23 +11,35 @@ * * Contributors: * -* Description: Image description file for project EAPOL +* Description: Image description file for EAPOL framework * */ /* -* %version: 16.1.2 % +* %version: 34 % */ #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 ) @@ -35,38 +47,57 @@ // EAP AKA ECOM_PLUGIN( eapaka.dll,102073c1.rsc ) -// EAP MSCHAPV2 +// EAP MSCHAPv2 / Plain-MSCHAPv2 ECOM_PLUGIN( eapmschapv2.dll,101f8e66.rsc ) -// EAP TLS PEAP +// EAP TLS PEAP TTLS ECOM_PLUGIN( eaptlspeap.dll,101f8e4c.rsc ) -// EAP Secure ID +// EAP Secure ID / GTC ECOM_PLUGIN( eapsecurid.dll,101f8e74.rsc ) -#ifdef FF_WLAN_EXTENSIONS -// EAP LEAP -ECOM_PLUGIN( eapleap.dll,101f8ea6.rsc ) -#endif //#ifdef FF_WLAN_EXTENSIONS - -// The VPN interface +// VPN interface ECOM_PLUGIN(eapvpnif.dll, 10200ec9.rsc) // The Engine EAPOL interface ECOM_PLUGIN(wlaneapolif.dll, 2000b05a.rsc) -// EAP Protected Setup +// 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 // #ifndef __EAPOL_IBY__ + +#endif // __EAPOL_IBY__ diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/tools/bwins/eapsymbiantoolsu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/tools/bwins/eapsymbiantoolsu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,26 @@ +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/tools/bwins/eaptoolsu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/tools/bwins/eaptoolsu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,1263 @@ +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/tools/bwins/eaptraceu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/tools/bwins/eaptraceu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + ?eap_trace_data_symbian@@YAXPBDPBXI@Z @ 1 NONAME ; void eap_trace_data_symbian(char const *, void const *, unsigned int) + diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/tools/eabi/eapsymbiantoolsu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/tools/eabi/eapsymbiantoolsu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,40 @@ +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/tools/eabi/eaptoolsu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/tools/eabi/eaptoolsu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,1784 @@ +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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/tools/eabi/eaptraceu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/tools/eabi/eaptraceu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,3 @@ +EXPORTS + _Z22eap_trace_data_symbianPKcPKvj @ 1 NONAME + diff -r 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/tools/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/tools/group/bld.inf Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,46 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/tools/group/eapsymbiantools.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/tools/group/eapsymbiantools.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,79 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/tools/group/eaptools.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/tools/group/eaptools.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,171 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/eapol_framework/eapol_symbian/tools/group/eaptrace.mmp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eapol/eapol_framework/eapol_symbian/tools/group/eaptrace.mmp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,77 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 eapol/group/bld.inf --- a/eapol/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ b/eapol/group/bld.inf Tue Aug 31 15:16:37 2010 +0300 @@ -25,6 +25,8 @@ 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 30e048a7b597 -r bad0cc58d154 group/bld.inf --- a/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ b/group/bld.inf Tue Aug 31 15:16:37 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). +* 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" @@ -11,12 +11,13 @@ * * Contributors: * -* Description: Build information file for all project in eapol subsystem +* Description: Build information file for all +* project in eapol subsystem * */ /* -* %version: % +* %version: 8 % */ PRJ_PLATFORMS @@ -25,8 +26,8 @@ PRJ_EXPORTS PRJ_MMPFILES -#include "../wlansecuritysettings/group/bld.inf" + #include "../accesssec_plat/group/bld.inf" #include "../eapol/group/bld.inf" -PRJ_TESTMMPFILES \ No newline at end of file +PRJ_TESTMMPFILES diff -r 30e048a7b597 -r bad0cc58d154 layers.sysdef.xml --- a/layers.sysdef.xml Thu Aug 19 09:58:27 2010 +0300 +++ b/layers.sysdef.xml Tue Aug 31 15:16:37 2010 +0300 @@ -1,19 +1,14 @@ - ]> - + - - - - - - - + + \ No newline at end of file diff -r 30e048a7b597 -r bad0cc58d154 package_definition.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/package_definition.xml Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 30e048a7b597 -r bad0cc58d154 package_map.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/package_map.xml Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,1 @@ + diff -r 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapciphersuiteui/bwins/cpeapciphersuiteuiu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapciphersuiteui/bwins/cpeapciphersuiteuiu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,6 @@ +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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapciphersuiteui/cpeapciphersuiteui.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapciphersuiteui/cpeapciphersuiteui.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,54 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapciphersuiteui/eabi/cpeapciphersuiteuiu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapciphersuiteui/eabi/cpeapciphersuiteuiu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,12 @@ +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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapciphersuiteui/inc/cpeapciphersuiteui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapciphersuiteui/inc/cpeapciphersuiteui.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,74 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapciphersuiteui/inc/cpeapciphersuiteui_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapciphersuiteui/inc/cpeapciphersuiteui_p.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,62 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapciphersuiteui/rom/cpeapciphersuiteui.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapciphersuiteui/rom/cpeapciphersuiteui.iby Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,34 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapciphersuiteui/src/cpeapciphersuiteui.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapciphersuiteui/src/cpeapciphersuiteui.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,113 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapciphersuiteui/src/cpeapciphersuiteui_p.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapciphersuiteui/src/cpeapciphersuiteui_p.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,107 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapsimakaui/cpeapsimakaui.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapsimakaui/cpeapsimakaui.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,66 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapsimakaui/inc/cpeapsimakaplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapsimakaui/inc/cpeapsimakaplugin.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,63 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapsimakaui/inc/cpeapsimakaui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapsimakaui/inc/cpeapsimakaui.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,118 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapsimakaui/rom/cpeapsimakaui.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapsimakaui/rom/cpeapsimakaui.iby Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,35 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapsimakaui/src/cpeapsimakaplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapsimakaui/src/cpeapsimakaplugin.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,124 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapsimakaui/src/cpeapsimakaui.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapsimakaui/src/cpeapsimakaui.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,417 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeaptlsmethodsui/cpeaptlsmethodsui.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/cpeaptlsmethodsui.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,69 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsinnereapui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsinnereapui.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,62 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsplugin.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,63 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/inc/cpeaptlsmethodsui.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,187 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeaptlsmethodsui/rom/cpeaptlsmethodsui.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/rom/cpeaptlsmethodsui.iby Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,35 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsinnereapui.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsinnereapui.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,79 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsplugin.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,129 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsui.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeaptlsmethodsui/src/cpeaptlsmethodsui.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,985 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapuiplugins.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapuiplugins.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,29 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapuserpasswordui/cpeapuserpasswordui.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapuserpasswordui/cpeapuserpasswordui.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,67 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapuserpasswordui/inc/cpeapuserpasswordplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapuserpasswordui/inc/cpeapuserpasswordplugin.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,63 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapuserpasswordui/inc/cpeapuserpasswordui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapuserpasswordui/inc/cpeapuserpasswordui.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,126 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapuserpasswordui/rom/cpeapuserpasswordui.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapuserpasswordui/rom/cpeapuserpasswordui.iby Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,35 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapuserpasswordui/src/cpeapuserpasswordplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapuserpasswordui/src/cpeapuserpasswordplugin.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,138 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/cpeapuserpasswordui/src/cpeapuserpasswordui.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/cpeapuserpasswordui/src/cpeapuserpasswordui.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,480 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpeapuiplugins/inc/eapuidefs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpeapuiplugins/inc/eapuidefs.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,70 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/bwins/cpwpacmnuiu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/bwins/cpwpacmnuiu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,6 @@ +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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cp802dot1xui/cp802dot1xui.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cp802dot1xui/cp802dot1xui.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,75 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cp802dot1xui/inc/cp802dot1xui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cp802dot1xui/inc/cp802dot1xui.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,96 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cp802dot1xui/rom/cp802dot1xui.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cp802dot1xui/rom/cp802dot1xui.iby Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,35 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cp802dot1xui/src/cp802dot1xui.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cp802dot1xui/src/cp802dot1xui.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,173 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cp802dot1xui/traces/OstTraceDefinitions.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cp802dot1xui/traces/OstTraceDefinitions.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,26 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwepui/cpwepui.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwepui/cpwepui.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,76 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwepui/inc/cpwepui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwepui/inc/cpwepui.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,170 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwepui/inc/wepkeyvalidator.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwepui/inc/wepkeyvalidator.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,56 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwepui/rom/cpwepui.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwepui/rom/cpwepui.iby Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,35 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwepui/src/cpwepui.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwepui/src/cpwepui.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,724 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwepui/src/wepkeyvalidator.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwepui/src/wepkeyvalidator.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,143 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwepui/traces/OstTraceDefinitions.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwepui/traces/OstTraceDefinitions.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,26 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwlansecurityuiplugins.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwlansecurityuiplugins.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,36 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpa2ui/cpwpa2ui.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpa2ui/cpwpa2ui.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,77 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpa2ui/inc/cpwpa2ui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpa2ui/inc/cpwpa2ui.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,97 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpa2ui/rom/cpwpa2ui.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpa2ui/rom/cpwpa2ui.iby Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,36 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpa2ui/src/cpwpa2ui.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpa2ui/src/cpwpa2ui.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,173 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpa2ui/traces/OstTraceDefinitions.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpa2ui/traces/OstTraceDefinitions.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,26 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpacmnui/cpwpacmnui.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/cpwpacmnui.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,71 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/cpwpacmneapui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/cpwpacmneapui.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,53 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/cpwpacmnui_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/cpwpacmnui_p.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,159 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/wpakeyvalidator.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/inc/wpakeyvalidator.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,54 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpacmnui/rom/cpwpacmnui.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/rom/cpwpacmnui.iby Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,37 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmneapui.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmneapui.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,79 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmnui.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmnui.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,105 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmnui_p.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/cpwpacmnui_p.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,759 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/wpakeyvalidator.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/src/wpakeyvalidator.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,166 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpacmnui/traces/OstTraceDefinitions.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpacmnui/traces/OstTraceDefinitions.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,26 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpaui/cpwpaui.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpaui/cpwpaui.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,77 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpaui/inc/cpwpaui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpaui/inc/cpwpaui.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,97 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpaui/rom/cpwpaui.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpaui/rom/cpwpaui.iby Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,36 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpaui/src/cpwpaui.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpaui/src/cpwpaui.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,170 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/cpwpaui/traces/OstTraceDefinitions.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/cpwpaui/traces/OstTraceDefinitions.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,26 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/eabi/cpwpacmnuiu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/eabi/cpwpacmnuiu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,8 @@ +EXPORTS + _ZN10CpWpaCmnUi16validateSettingsEv @ 1 NONAME + _ZN10CpWpaCmnUi8createUiEP20EapQtConfigInterfaceP22CmConnectionMethodShim @ 2 NONAME + _ZN10CpWpaCmnUiC1EN13CMManagerShim11WlanSecModeER16CpItemDataHelper @ 3 NONAME + _ZN10CpWpaCmnUiC2EN13CMManagerShim11WlanSecModeER16CpItemDataHelper @ 4 NONAME + _ZN10CpWpaCmnUiD1Ev @ 5 NONAME + _ZN10CpWpaCmnUiD2Ev @ 6 NONAME + diff -r 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/inc/cpwpacmnui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/inc/cpwpacmnui.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,67 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/inc/cpwpacmnui_global.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/inc/cpwpacmnui_global.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,45 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/cpwlansecurityuiplugins/rom/cpwlansecurityuiplugins_resources.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/cpwlansecurityuiplugins/rom/cpwlansecurityuiplugins_resources.iby Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,35 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/eapqtdialogs.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/eapqtdialogs.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,83 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/inc/eapdialogplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/inc/eapdialogplugin.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,87 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/inc/eapfastcreatemasterkeyquerydialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/inc/eapfastcreatemasterkeyquerydialog.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,126 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/inc/eapfastinstallpacquerydialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/inc/eapfastinstallpacquerydialog.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,110 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/inc/eapfastpacfilepwquerydialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/inc/eapfastpacfilepwquerydialog.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,114 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/inc/eapfastpacstorepwquerydialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/inc/eapfastpacstorepwquerydialog.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,120 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/inc/eapfastprovnotsuccessnotedialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/inc/eapfastprovnotsuccessnotedialog.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,106 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/inc/eapfastprovwaitnotedialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/inc/eapfastprovwaitnotedialog.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,101 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/inc/eapmschapv2newpwddialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/inc/eapmschapv2newpwddialog.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,125 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/inc/eapmschapv2oldpwddialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/inc/eapmschapv2oldpwddialog.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,121 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/inc/eapmschapv2pwdexpirednotedialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/inc/eapmschapv2pwdexpirednotedialog.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,105 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/inc/eappasswordquerydialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/inc/eappasswordquerydialog.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,121 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/inc/eapquerydialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/inc/eapquerydialog.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,105 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/inc/eapusernamepwddialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/inc/eapusernamepwddialog.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,126 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/rom/eapdialogplugin.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/rom/eapdialogplugin.iby Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,36 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/rom/eapdialogplugin_resources.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/rom/eapdialogplugin_resources.iby Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,34 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/src/eapdialogplugin.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/src/eapdialogplugin.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,272 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/src/eapfastcreatemasterkeyquerydialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/src/eapfastcreatemasterkeyquerydialog.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,306 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/src/eapfastinstallpacquerydialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/src/eapfastinstallpacquerydialog.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,271 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/src/eapfastpacfilepwquerydialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/src/eapfastpacfilepwquerydialog.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,268 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/src/eapfastpacstorepwquerydialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/src/eapfastpacstorepwquerydialog.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,301 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/src/eapfastprovnotsuccessnotedialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/src/eapfastprovnotsuccessnotedialog.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,229 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/src/eapfastprovwaitnotedialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/src/eapfastprovwaitnotedialog.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,199 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/src/eapmschapv2newpwddialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/src/eapmschapv2newpwddialog.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,307 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/src/eapmschapv2oldpwddialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/src/eapmschapv2oldpwddialog.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,291 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/src/eapmschapv2pwdexpirednotedialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/src/eapmschapv2pwdexpirednotedialog.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,231 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/src/eappasswordquerydialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/src/eappasswordquerydialog.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,314 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/src/eapquerydialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/src/eapquerydialog.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,259 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/src/eapusernamepwddialog.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/src/eapusernamepwddialog.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,339 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/eapqtdialogs/traces/OstTraceDefinitions.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/eapqtdialogs/traces/OstTraceDefinitions.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,21 @@ +/* +* 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 30e048a7b597 -r bad0cc58d154 securitysettings/inc/cpeapplugininterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/inc/cpeapplugininterface.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,70 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/bwins/eapqtconfiginterfaceu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/bwins/eapqtconfiginterfaceu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,40 @@ +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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/eabi/eapqtconfiginterfaceu.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/eabi/eapqtconfiginterfaceu.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,50 @@ +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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/eapqtconfiginterface.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/eapqtconfiginterface.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,93 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtcertificateinfo_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtcertificateinfo_p.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,67 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtconfig_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtconfig_p.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,61 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtconfiginterface_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtconfiginterface_p.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,205 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtpacstoreconfig_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtpacstoreconfig_p.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,62 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpacstorepassword.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpacstorepassword.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,58 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpacstorepasswordconfirm.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpacstorepasswordconfirm.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,57 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpassword.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorpassword.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,67 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorrealm.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorrealm.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,67 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorusername.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/inc/eapqtvalidatorusername.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,69 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/rom/eapqtconfiginterface.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/rom/eapqtconfiginterface.iby Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,35 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/rom/eapqtconfiginterface_resources.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/rom/eapqtconfiginterface_resources.iby Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,35 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtcertificateinfo.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtcertificateinfo.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,91 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtcertificateinfo_p.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtcertificateinfo_p.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,69 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfig.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfig.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,166 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfig_p.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfig_p.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,50 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfiginterface.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfiginterface.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,154 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfiginterface_p.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtconfiginterface_p.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,1934 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtpacstoreconfig.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtpacstoreconfig.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,76 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtpacstoreconfig_p.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtpacstoreconfig_p.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,49 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpacstorepassword.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpacstorepassword.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,74 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpacstorepasswordconfirm.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpacstorepasswordconfirm.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,75 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpassword.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorpassword.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,135 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorrealm.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorrealm.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,147 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorusername.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtconfiginterface/src/eapqtvalidatorusername.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,201 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtplugininfo/bwins/eapqtplugininfou.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtplugininfo/bwins/eapqtplugininfou.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,31 @@ +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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtplugininfo/eabi/eapqtplugininfou.def --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtplugininfo/eabi/eapqtplugininfou.def Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,45 @@ +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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtplugininfo/eapqtplugininfo.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtplugininfo/eapqtplugininfo.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,64 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtexpandedeaptype_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtexpandedeaptype_p.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,66 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtpluginhandle_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtpluginhandle_p.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,64 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtplugininfo_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtplugininfo/inc/eapqtplugininfo_p.h Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,66 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtplugininfo/rom/eapqtplugininfo.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtplugininfo/rom/eapqtplugininfo.iby Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,35 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtexpandedeaptype.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtexpandedeaptype.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,98 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtexpandedeaptype_p.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtexpandedeaptype_p.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,209 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtpluginhandle.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtpluginhandle.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,156 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtpluginhandle_p.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtpluginhandle_p.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,48 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtplugininfo.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtplugininfo.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,85 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtplugininfo_p.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/eapqtplugininfo/src/eapqtplugininfo_p.cpp Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,49 @@ +/* + * 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 30e048a7b597 -r bad0cc58d154 securitysettings/qtconfigutils/qtconfigutils.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/qtconfigutils/qtconfigutils.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,22 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 securitysettings/securitysettings.pro --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/securitysettings/securitysettings.pro Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,28 @@ +# +# 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 30e048a7b597 -r bad0cc58d154 sysdef_1_4_0.dtd --- a/sysdef_1_4_0.dtd Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 30e048a7b597 -r bad0cc58d154 sysdef_1_5_1.dtd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sysdef_1_5_1.dtd Tue Aug 31 15:16:37 2010 +0300 @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/group/bld.inf --- a/wlansecuritysettings/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wapisecuritysettingsui/bwinscw/wapisecuritysettingsuiu.def --- a/wlansecuritysettings/wapisecuritysettingsui/bwinscw/wapisecuritysettingsuiu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,12 +0,0 @@ -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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wapisecuritysettingsui/eabi/wapisecuritysettingsuiu.def --- a/wlansecuritysettings/wapisecuritysettingsui/eabi/wapisecuritysettingsuiu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ -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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wapisecuritysettingsui/rom/wapisecuritysettingsui.iby --- a/wlansecuritysettings/wapisecuritysettingsui/rom/wapisecuritysettingsui.iby Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wapisecuritysettingsui/rom/wapisecuritysettingsuiresources.iby --- a/wlansecuritysettings/wapisecuritysettingsui/rom/wapisecuritysettingsuiresources.iby Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wapisecuritysettingsui/stub/group/bld.inf --- a/wlansecuritysettings/wapisecuritysettingsui/stub/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,35 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wapisecuritysettingsui/stub/group/wapisecuritysettingsstub.mmp --- a/wlansecuritysettings/wapisecuritysettingsui/stub/group/wapisecuritysettingsstub.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wapisecuritysettingsui/stub/src/wapisecuritysettingsstub.cpp --- a/wlansecuritysettings/wapisecuritysettingsui/stub/src/wapisecuritysettingsstub.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,111 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wapisecuritysettingsui/stub/src/wapisecuritysettingsuistub.cpp --- a/wlansecuritysettings/wapisecuritysettingsui/stub/src/wapisecuritysettingsuistub.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/Rom/WEPSecuritySettingsUI.iby --- a/wlansecuritysettings/wepsecuritysettingsui/Rom/WEPSecuritySettingsUI.iby Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/Rom/WEPSecuritySettingsUIResources.iby --- a/wlansecuritysettings/wepsecuritysettingsui/Rom/WEPSecuritySettingsUIResources.iby Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/bwinscw/WEPSecuritySettingsUI_EKA2_ALRu.def --- a/wlansecuritysettings/wepsecuritysettingsui/bwinscw/WEPSecuritySettingsUI_EKA2_ALRu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,16 +0,0 @@ -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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/data/WEPSecuritySettingsUI.rss --- a/wlansecuritysettings/wepsecuritysettingsui/data/WEPSecuritySettingsUI.rss Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,390 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/eabi/WEPSecuritySettingsUI_EKA2_ALRu.def --- a/wlansecuritysettings/wepsecuritysettingsui/eabi/WEPSecuritySettingsUI_EKA2_ALRu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/group/WEPSecuritySettingsUI.mmp --- a/wlansecuritysettings/wepsecuritysettingsui/group/WEPSecuritySettingsUI.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,79 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/group/bld.inf --- a/wlansecuritysettings/wepsecuritysettingsui/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/group/wepsecuritysettingsuistub.mmp --- a/wlansecuritysettings/wepsecuritysettingsui/group/wepsecuritysettingsuistub.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,51 +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 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/inc/SecuritySettingsLogger.h --- a/wlansecuritysettings/wepsecuritysettingsui/inc/SecuritySettingsLogger.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,155 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsDlg.h --- a/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsDlg.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,318 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsImpl.h --- a/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsImpl.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,269 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsImpl.inl --- a/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsImpl.inl Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,148 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUI.hrh --- a/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUI.hrh Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUiImpl.h --- a/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUiImpl.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUiPanic.h --- a/wlansecuritysettings/wepsecuritysettingsui/inc/WEPSecuritySettingsUiPanic.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/inc/WepKeyDataTextSettingPage.h --- a/wlansecuritysettings/wepsecuritysettingsui/inc/WepKeyDataTextSettingPage.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/inc/WepSecuritySettingsDefs.h --- a/wlansecuritysettings/wepsecuritysettingsui/inc/WepSecuritySettingsDefs.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/loc/wepsecuritysettingsui.loc --- a/wlansecuritysettings/wepsecuritysettingsui/loc/wepsecuritysettingsui.loc Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,248 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettings.cpp --- a/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettings.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,154 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsDlg.cpp --- a/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsDlg.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1328 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsImpl.cpp --- a/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsImpl.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,633 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUI.cpp --- a/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUI.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUiImpl.cpp --- a/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUiImpl.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,115 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUiPanic.cpp --- a/wlansecuritysettings/wepsecuritysettingsui/src/WEPSecuritySettingsUiPanic.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/src/WepKeyDataTextSettingPage.cpp --- a/wlansecuritysettings/wepsecuritysettingsui/src/WepKeyDataTextSettingPage.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/src/wepsecuritysettingsstub.cpp --- a/wlansecuritysettings/wepsecuritysettingsui/src/wepsecuritysettingsstub.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,143 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wepsecuritysettingsui/src/wepsecuritysettingsuistub.cpp --- a/wlansecuritysettings/wepsecuritysettingsui/src/wepsecuritysettingsuistub.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/bwinscw/wifiprotclient_alru.def --- a/wlansecuritysettings/wifiprotectedsetup/bwinscw/wifiprotclient_alru.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ -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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/bwinscw/wifiprotpluginu.def --- a/wlansecuritysettings/wifiprotectedsetup/bwinscw/wifiprotpluginu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ -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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/data/wifiprotplugin.rss --- a/wlansecuritysettings/wifiprotectedsetup/data/wifiprotplugin.rss Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,331 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/eabi/wifiprotclient_alru.def --- a/wlansecuritysettings/wifiprotectedsetup/eabi/wifiprotclient_alru.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14 +0,0 @@ -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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/eabi/wifiprotpluginu.def --- a/wlansecuritysettings/wifiprotectedsetup/eabi/wifiprotpluginu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/group/bld.inf --- a/wlansecuritysettings/wifiprotectedsetup/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/group/wifiprot_icons.mk --- a/wlansecuritysettings/wifiprotectedsetup/group/wifiprot_icons.mk Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/group/wifiprotclient.mmp --- a/wlansecuritysettings/wifiprotectedsetup/group/wifiprotclient.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/group/wifiprotclientstub.mmp --- a/wlansecuritysettings/wifiprotectedsetup/group/wifiprotclientstub.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/group/wifiprotplugin.mmp --- a/wlansecuritysettings/wifiprotectedsetup/group/wifiprotplugin.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,97 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/group/wifiprotpluginstub.mmp --- a/wlansecuritysettings/wifiprotectedsetup/group/wifiprotpluginstub.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/inc/wifiparams.h --- a/wlansecuritysettings/wifiprotectedsetup/inc/wifiparams.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/inc/wifiparams.inl --- a/wlansecuritysettings/wifiprotectedsetup/inc/wifiparams.inl Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/inc/wifiprot.loc --- a/wlansecuritysettings/wifiprotectedsetup/inc/wifiprot.loc Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,150 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/inc/wifiprotactiveresp.h --- a/wlansecuritysettings/wifiprotectedsetup/inc/wifiprotactiveresp.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,166 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/inc/wifiprotlogger.h --- a/wlansecuritysettings/wifiprotectedsetup/inc/wifiprotlogger.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,126 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/inc/wifiprotsession.h --- a/wlansecuritysettings/wifiprotectedsetup/inc/wifiprotsession.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,109 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/inc/wifiprotsyncclient.h --- a/wlansecuritysettings/wifiprotectedsetup/inc/wifiprotsyncclient.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,123 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/inc/wifiprotuiclientimpl.h --- a/wlansecuritysettings/wifiprotectedsetup/inc/wifiprotuiclientimpl.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,133 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/loc/wifiprot.loc --- a/wlansecuritysettings/wifiprotectedsetup/loc/wifiprot.loc Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,179 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotactiverunner.h --- a/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotactiverunner.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,507 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotactiverunnercallback.h --- a/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotactiverunnercallback.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotconfirmationnotedlg.h --- a/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotconfirmationnotedlg.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotdlgsplugin.h --- a/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotdlgsplugin.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,223 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotenterpindlg.h --- a/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotenterpindlg.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,94 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotinitiateeasysetupdlg.h --- a/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotinitiateeasysetupdlg.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,109 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotplugin.h --- a/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotplugin.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotplugin.hrh --- a/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotplugin.hrh Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotselectnetworkdlg.h --- a/wlansecuritysettings/wifiprotectedsetup/plugininc/wifiprotselectnetworkdlg.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,91 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotactiverunner.cpp --- a/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotactiverunner.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2056 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotconfirmationnotedlg.cpp --- a/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotconfirmationnotedlg.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,117 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotdlgsplugin.cpp --- a/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotdlgsplugin.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,461 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotenterpindlg.cpp --- a/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotenterpindlg.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,128 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotinitiateeasysetupdlg.cpp --- a/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotinitiateeasysetupdlg.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,230 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotplugin.cpp --- a/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotplugin.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,83 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotpluginstub.cpp --- a/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotpluginstub.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,231 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotselectnetworkdlg.cpp --- a/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotselectnetworkdlg.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,159 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotuiinprocess.cpp --- a/wlansecuritysettings/wifiprotectedsetup/pluginsrc/wifiprotuiinprocess.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,111 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/rom/WiFiProt.iby --- a/wlansecuritysettings/wifiprotectedsetup/rom/WiFiProt.iby Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/rom/WiFiProtResources.iby --- a/wlansecuritysettings/wifiprotectedsetup/rom/WiFiProtResources.iby Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/src/wifiprotactiveresp.cpp --- a/wlansecuritysettings/wifiprotectedsetup/src/wifiprotactiveresp.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,243 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/src/wifiprotsession.cpp --- a/wlansecuritysettings/wifiprotectedsetup/src/wifiprotsession.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,213 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/src/wifiprotsyncclient.cpp --- a/wlansecuritysettings/wifiprotectedsetup/src/wifiprotsyncclient.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,148 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclient.cpp --- a/wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclient.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,110 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclientimpl.cpp --- a/wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclientimpl.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,149 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclientstub.cpp --- a/wlansecuritysettings/wifiprotectedsetup/src/wifiprotuiclientstub.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,123 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/data/EapAkaUi.rss --- a/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/data/EapAkaUi.rss Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,253 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUi.hrh --- a/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUi.hrh Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUiSettingArray.h --- a/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUiSettingArray.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,70 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUiView.h --- a/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/inc/EapAkaUiView.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,117 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/loc/eapakaui.loc --- a/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/loc/eapakaui.loc Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUi.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUi.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,137 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUiSettingArray.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUiSettingArray.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,185 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUiView.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapAka/ConfigUi/src/EapAkaUiView.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,463 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/data/EapGtcUi.rss --- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/data/EapGtcUi.rss Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,138 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUi.hrh --- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUi.hrh Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUiSettingArray.h --- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUiSettingArray.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUiView.h --- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/inc/EapGtcUiView.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,116 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/loc/eapgtcui.loc --- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/loc/eapgtcui.loc Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUi.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUi.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,139 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUiSettingArray.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUiSettingArray.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,159 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUiView.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/ConfigUi/src/EapGtcUiView.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,457 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/data/GtcNotifDlgUi.rss --- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/data/GtcNotifDlgUi.rss Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,126 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GTCMessageDisplayDialog.h --- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GTCMessageDisplayDialog.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GTCResponseQueryDialog.h --- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GTCResponseQueryDialog.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GtcNotifDlgPlugin.h --- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/inc/GtcNotifDlgPlugin.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,131 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/loc/gtcnotifdlg.loc --- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/loc/gtcnotifdlg.loc Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GTCMessageDisplayDialog.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GTCMessageDisplayDialog.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,106 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GTCResponseQueryDialog.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GTCResponseQueryDialog.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,100 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GtcNotifDlgPlugin.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapGtc/NotifierUi/src/GtcNotifDlgPlugin.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,403 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/data/EapMschapv2Ui.rss --- a/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/data/EapMschapv2Ui.rss Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,212 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2Ui.hrh --- a/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2Ui.hrh Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2UiSettingArray.h --- a/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2UiSettingArray.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2UiView.h --- a/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/inc/EapMschapv2UiView.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,116 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/loc/eapmschapv2ui.loc --- a/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/loc/eapmschapv2ui.loc Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,40 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2Ui.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2Ui.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,137 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2UiSettingArray.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2UiSettingArray.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,227 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2UiView.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/ConfigUi/src/EapMschapv2UiView.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,518 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/data/MsChapv2NotifDlgUi.rss --- a/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/data/MsChapv2NotifDlgUi.rss Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDialog.h --- a/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDialog.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDlgPlugin.h --- a/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDlgPlugin.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,130 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDlgPlugin.inl --- a/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/inc/MsChapv2NotifDlgPlugin.inl Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,58 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/loc/mschapv2notifdlg.loc --- a/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/loc/mschapv2notifdlg.loc Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/src/MsChapv2NotifDialog.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/src/MsChapv2NotifDialog.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,128 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/src/MsChapv2NotifDlgPlugin.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapMschapv2/NotifierUi/src/MsChapv2NotifDlgPlugin.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,313 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/data/EapPeapUi.rss --- a/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/data/EapPeapUi.rss Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,557 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUi.hrh --- a/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUi.hrh Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,94 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUiSettingArray.h --- a/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUiSettingArray.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUiView.h --- a/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/inc/EapPeapUiView.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,174 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/loc/eappeapui.loc --- a/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/loc/eappeapui.loc Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,84 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUi.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUi.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,145 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUiSettingArray.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUiSettingArray.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,185 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUiView.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapPeap/ConfigUi/src/EapPeapUiView.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1880 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/data/102072bb.rss --- a/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/data/102072bb.rss Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,59 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/data/EAPPluginConfigRes.rss --- a/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/data/EAPPluginConfigRes.rss Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,162 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPlugInConfigurationDlg.h --- a/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPlugInConfigurationDlg.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,174 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfig.hrh --- a/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfig.hrh Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigUid.h --- a/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigUid.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfiguration.h --- a/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfiguration.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,135 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigurationModel.h --- a/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigurationModel.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,86 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigurationModel.inl --- a/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginConfigurationModel.inl Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginInfo.h --- a/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginInfo.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginList.h --- a/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/inc/EAPPluginList.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPlugInConfigurationDlg.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPlugInConfigurationDlg.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,617 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPlugInConfigurationModel.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPlugInConfigurationModel.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,108 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginConfiguration.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginConfiguration.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,836 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginConfigurationProxy.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginConfigurationProxy.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginList.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapPluginConfig/src/EAPPluginList.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/data/EapSimUi.rss --- a/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/data/EapSimUi.rss Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,248 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUi.hrh --- a/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUi.hrh Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUiSettingArray.h --- a/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUiSettingArray.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,66 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUiView.h --- a/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/inc/EapSimUiView.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,116 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/loc/eapsimui.loc --- a/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/loc/eapsimui.loc Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUi.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUi.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,138 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUiSettingArray.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUiSettingArray.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,187 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUiView.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapSim/ConfigUi/src/EapSimUiView.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,480 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/data/EapTlsUi.rss --- a/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/data/EapTlsUi.rss Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,413 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUi.hrh --- a/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUi.hrh Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,99 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUiSettingArray.h --- a/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUiSettingArray.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUiView.h --- a/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/inc/EapTlsUiView.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,153 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/loc/eaptlsui.loc --- a/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/loc/eaptlsui.loc Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUi.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUi.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,138 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUiSettingArray.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUiSettingArray.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,185 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUiView.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapTls/ConfigUi/src/EapTlsUiView.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1267 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/data/EapTtlsUi.rss --- a/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/data/EapTtlsUi.rss Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,473 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUi.hrh --- a/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUi.hrh Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,93 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUiSettingArray.h --- a/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUiSettingArray.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUiView.h --- a/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/inc/EapTtlsUiView.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,177 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/loc/eapttlsui.loc --- a/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/loc/eapttlsui.loc Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUi.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUi.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,144 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUiSettingArray.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUiSettingArray.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,185 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUiView.cpp --- a/wlansecuritysettings/wlaneapsettingsui/EapTtls/ConfigUi/src/EapTtlsUiView.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1903 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/bwinscw/eapfastnotifdlgu.def --- a/wlansecuritysettings/wlaneapsettingsui/bwinscw/eapfastnotifdlgu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,4 +0,0 @@ -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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/bwinscw/gtcnotifdlgu.def --- a/wlansecuritysettings/wlaneapsettingsui/bwinscw/gtcnotifdlgu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -EXPORTS - ?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 1 NONAME ; class CArrayPtr * NotifierArray(void) - diff -r 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/bwinscw/leapnotifdlgu.def --- a/wlansecuritysettings/wlaneapsettingsui/bwinscw/leapnotifdlgu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -EXPORTS - ?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 1 NONAME ; class CArrayPtr * NotifierArray(void) - diff -r 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/bwinscw/mschapv2notifdlgu.def --- a/wlansecuritysettings/wlaneapsettingsui/bwinscw/mschapv2notifdlgu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -EXPORTS - ?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 1 NONAME ; class CArrayPtr * NotifierArray(void) - diff -r 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/bwinscw/papnotifdlgu.def --- a/wlansecuritysettings/wlaneapsettingsui/bwinscw/papnotifdlgu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -EXPORTS - ?NotifierArray@@YAPAV?$CArrayPtr@VMEikSrvNotifierBase2@@@@XZ @ 1 NONAME ; class CArrayPtr * NotifierArray(void) - diff -r 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/eabi/eapfastnotifdlgu.def --- a/wlansecuritysettings/wlaneapsettingsui/eabi/eapfastnotifdlgu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/eabi/gtcnotifdlgu.def --- a/wlansecuritysettings/wlaneapsettingsui/eabi/gtcnotifdlgu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -EXPORTS - _Z13NotifierArrayv @ 1 NONAME - _ZTI16CGtcDialogPlugin @ 2 NONAME ; ## - _ZTI23CGTCResponseQueryDialog @ 3 NONAME ; ## - _ZTI24CGTCMessageDisplayDialog @ 4 NONAME ; ## - _ZTV16CGtcDialogPlugin @ 5 NONAME ; ## - _ZTV23CGTCResponseQueryDialog @ 6 NONAME ; ## - _ZTV24CGTCMessageDisplayDialog @ 7 NONAME ; ## - diff -r 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/eabi/leapnotifdlgu.def --- a/wlansecuritysettings/wlaneapsettingsui/eabi/leapnotifdlgu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ -EXPORTS - _Z13NotifierArrayv @ 1 NONAME - _ZTI11CLeapDialog @ 2 NONAME ; ## - _ZTI17CLeapDialogPlugin @ 3 NONAME ; ## - _ZTV11CLeapDialog @ 4 NONAME ; ## - _ZTV17CLeapDialogPlugin @ 5 NONAME ; ## - diff -r 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/eabi/mschapv2notifdlgu.def --- a/wlansecuritysettings/wlaneapsettingsui/eabi/mschapv2notifdlgu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ -EXPORTS - _Z13NotifierArrayv @ 1 NONAME - _ZTI15CMsChapv2Dialog @ 2 NONAME ; ## - _ZTI21CMsChapv2DialogPlugin @ 3 NONAME ; ## - _ZTV15CMsChapv2Dialog @ 4 NONAME ; ## - _ZTV21CMsChapv2DialogPlugin @ 5 NONAME ; ## - diff -r 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/eabi/papnotifdlgu.def --- a/wlansecuritysettings/wlaneapsettingsui/eabi/papnotifdlgu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/data/2000cf2e.rss --- a/wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/data/2000cf2e.rss Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/inc/eapnotifierdialoguiddefs.h --- a/wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/inc/eapnotifierdialoguiddefs.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/src/eapnotifwrapper.cpp --- a/wlansecuritysettings/wlaneapsettingsui/eapnotifwrapper/src/eapnotifwrapper.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,171 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/group/EapAkaUi.mmp --- a/wlansecuritysettings/wlaneapsettingsui/group/EapAkaUi.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/group/EapGtcUi.mmp --- a/wlansecuritysettings/wlaneapsettingsui/group/EapGtcUi.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/group/EapMschapv2Ui.mmp --- a/wlansecuritysettings/wlaneapsettingsui/group/EapMschapv2Ui.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/group/EapPeapUi.mmp --- a/wlansecuritysettings/wlaneapsettingsui/group/EapPeapUi.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/group/EapPluginConfig.mmp --- a/wlansecuritysettings/wlaneapsettingsui/group/EapPluginConfig.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/group/EapSimUi.mmp --- a/wlansecuritysettings/wlaneapsettingsui/group/EapSimUi.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/group/EapTlsUi.mmp --- a/wlansecuritysettings/wlaneapsettingsui/group/EapTlsUi.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,53 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/group/EapTtlsUi.mmp --- a/wlansecuritysettings/wlaneapsettingsui/group/EapTtlsUi.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/group/GtcNotifDlg.mmp --- a/wlansecuritysettings/wlaneapsettingsui/group/GtcNotifDlg.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/group/MsChapv2NotifDlg.mmp --- a/wlansecuritysettings/wlaneapsettingsui/group/MsChapv2NotifDlg.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,71 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/group/bld.inf --- a/wlansecuritysettings/wlaneapsettingsui/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,72 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/group/eapnotifwrapper.mmp --- a/wlansecuritysettings/wlaneapsettingsui/group/eapnotifwrapper.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/group/papnotifdlg.mmp --- a/wlansecuritysettings/wlaneapsettingsui/group/papnotifdlg.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/group/papui.mmp --- a/wlansecuritysettings/wlaneapsettingsui/group/papui.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/loc/wlaneapsettingsui.loc --- a/wlansecuritysettings/wlaneapsettingsui/loc/wlaneapsettingsui.loc Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,424 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/configui/data/papui.rss --- a/wlansecuritysettings/wlaneapsettingsui/pap/configui/data/papui.rss Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,239 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papui.hrh --- a/wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papui.hrh Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuipwsettingitem.h --- a/wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuipwsettingitem.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,75 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuisettingarray.h --- a/wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuisettingarray.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,76 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuiview.h --- a/wlansecuritysettings/wlaneapsettingsui/pap/configui/inc/papuiview.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,129 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/configui/loc/papui.loc --- a/wlansecuritysettings/wlaneapsettingsui/pap/configui/loc/papui.loc Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,62 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papui.cpp --- a/wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papui.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,139 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuipwsettingitem.cpp --- a/wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuipwsettingitem.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,99 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuisettingarray.cpp --- a/wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuisettingarray.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,247 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuiview.cpp --- a/wlansecuritysettings/wlaneapsettingsui/pap/configui/src/papuiview.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,649 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/notifierui/data/papnotifdlgui.rss --- a/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/data/papnotifdlgui.rss Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,154 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papauthdialog.h --- a/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papauthdialog.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papchallengemsgdialog.h --- a/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papchallengemsgdialog.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papchallengereplydialog.h --- a/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papchallengereplydialog.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papnotifdlgplugin.h --- a/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papnotifdlgplugin.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,138 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papnotifui.hrh --- a/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/inc/papnotifui.hrh Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/notifierui/loc/papnotifdlg.loc --- a/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/loc/papnotifdlg.loc Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papauthdialog.cpp --- a/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papauthdialog.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,136 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papchallengemsgdialog.cpp --- a/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papchallengemsgdialog.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,113 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papchallengereplydialog.cpp --- a/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papchallengereplydialog.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,101 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papnotifdlgplugin.cpp --- a/wlansecuritysettings/wlaneapsettingsui/pap/notifierui/src/papnotifdlgplugin.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,489 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/rom/WlanEapSettingsUi.iby --- a/wlansecuritysettings/wlaneapsettingsui/rom/WlanEapSettingsUi.iby Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wlaneapsettingsui/rom/WlanEapSettingsUiResources.iby --- a/wlansecuritysettings/wlaneapsettingsui/rom/WlanEapSettingsUiResources.iby Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/Rom/WPASecuritySettingsUI.iby --- a/wlansecuritysettings/wpasecuritysettingsui/Rom/WPASecuritySettingsUI.iby Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,32 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/Rom/WPASecuritySettingsUIResources.iby --- a/wlansecuritysettings/wpasecuritysettingsui/Rom/WPASecuritySettingsUIResources.iby Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,31 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/bwinscw/WPASecuritySettingsUI_EKA2_ALRu.def --- a/wlansecuritysettings/wpasecuritysettingsui/bwinscw/WPASecuritySettingsUI_EKA2_ALRu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/data/WPASecuritySettingsUI.rss --- a/wlansecuritysettings/wpasecuritysettingsui/data/WPASecuritySettingsUI.rss Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,330 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/eabi/WPASecuritySettingsUI_EKA2_ALRu.def --- a/wlansecuritysettings/wpasecuritysettingsui/eabi/WPASecuritySettingsUI_EKA2_ALRu.def Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/group/WPASecuritySettingsUI.mmp --- a/wlansecuritysettings/wpasecuritysettingsui/group/WPASecuritySettingsUI.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/group/bld.inf --- a/wlansecuritysettings/wpasecuritysettingsui/group/bld.inf Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/group/wpasecuritysettingsuistub.mmp --- a/wlansecuritysettings/wpasecuritysettingsui/group/wpasecuritysettingsuistub.mmp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +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 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/inc/SecuritySettingsLogger.h --- a/wlansecuritysettings/wpasecuritysettingsui/inc/SecuritySettingsLogger.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,155 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsDefs.h --- a/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsDefs.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsDlg.h --- a/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsDlg.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,308 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsImpl.h --- a/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsImpl.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,322 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsImpl.inl --- a/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsImpl.inl Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,189 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUI.hrh --- a/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUI.hrh Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUiImpl.h --- a/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUiImpl.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,98 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUiPanic.h --- a/wlansecuritysettings/wpasecuritysettingsui/inc/WPASecuritySettingsUiPanic.h Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,45 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/loc/wpasecuritysettingsui.loc --- a/wlansecuritysettings/wpasecuritysettingsui/loc/wpasecuritysettingsui.loc Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,153 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettings.cpp --- a/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettings.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,171 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsDlg.cpp --- a/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsDlg.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1128 +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: 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsImpl.cpp --- a/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsImpl.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,879 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUI.cpp --- a/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUI.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUiImpl.cpp --- a/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUiImpl.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,118 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUiPanic.cpp --- a/wlansecuritysettings/wpasecuritysettingsui/src/WPASecuritySettingsUiPanic.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/src/wpasecuritysettingsstub.cpp --- a/wlansecuritysettings/wpasecuritysettingsui/src/wpasecuritysettingsstub.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,156 +0,0 @@ -/* -* 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 30e048a7b597 -r bad0cc58d154 wlansecuritysettings/wpasecuritysettingsui/src/wpasecuritysettingsuistub.cpp --- a/wlansecuritysettings/wpasecuritysettingsui/src/wpasecuritysettingsuistub.cpp Thu Aug 19 09:58:27 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,61 +0,0 @@ -/* -* 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