--- a/omaprovisioning/provisioning/accesspointadapter/Src/CWPAPNapdef.cpp Wed Jun 23 19:10:17 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2039 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies 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 data for one accesspoint
-*
-*/
-
-
-
-
-// INCLUDE FILES
-
-#include "CWPAPNapdef.h"
-#include <CWPCharacteristic.h>
-#include <CWPParameter.h>
-#include <WPAPAdapterResource.rsg>
-#include <featmgr.h>
-#include <WPAdapterUtil.h>
-#include "CWPAPAccesspointItem.h"
-#include "WPAPAdapter.pan"
-#include <WlanCdbCols.h>
-#include <EapType.h>
-#include <EapSettings.h>
-#include "ProvisioningDebug.h"
-#include <cmconnectionmethodext.h>
-#include <cmpluginpacketdatadef.h>
-#include <cmpluginwlandef.h>
-#include <cmmanagerext.h>
-#include <cmconnectionmethodext.h>
-#include <commdb.h>
-#include <WlanCdbCols.h>
-#include <EapExpandedType.h>
-#include <centralrepository.h>
-#include <pdpcontextmanagerinternalcrkeys.h>
-#include <EapGeneralSettings.h>
-#include <EapTypeDefinitions.h>
-
-const TUint KIapColumn = 0x00000100;
-const TUint KLingerColumn = 0x00000200;
-const TUint KColumnMask = 0xFFFFFF00;
-const TUint KRowMask = 0x000000FF;
-
-// Delay for comms db begintransaction retry (microseconds)
-const TInt KBeginTransRetryDelay = 1000000;
-// Maximum number of retries
-const TInt KBeginTransRetryCount = 7;
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::NewLC
-// -----------------------------------------------------------------------------
-//
-CWPAPNapdef* CWPAPNapdef::NewLC( TBool aFollowingLink,
- const TDesC& aDefaultName,
- CWPCharacteristic& aLogicalCharacteristic,
- CWPCharacteristic& aLink )
- {
- CWPAPNapdef* self = new(ELeave) CWPAPNapdef( aFollowingLink,
- aDefaultName,
- aLogicalCharacteristic );
- CleanupStack::PushL( self );
- self->ConstructL();
- aLink.AcceptL( *self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// Destructor
-// -----------------------------------------------------------------------------
-CWPAPNapdef::~CWPAPNapdef()
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::~CWPAPNapdef" ) );
-
- iEapTypeArray.ResetAndDestroy();
- iEapTypeArray.Close();
- iSecSSID.ResetAndDestroy();
- iSecSSID.Close();
- iNameServers.Close();
-
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::ValidateL
-// -----------------------------------------------------------------------------
-//
-TBool CWPAPNapdef::ValidateL()
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ValidateL" ) );
-
- TBool result( ETrue );
-
- if ( iBearer == KUidWlanBearerType )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ValidateL wlan" ) );
- if ( iWlanSupported )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ValidateL wlan supported" ) );
- return result;
- }
- else
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ValidateL wlan NOT supported" ) );
- return EFalse;
- }
- }
-
- // Received unsupported bearer
- if( iBearerUnsupported )
- {
- return EFalse;
- }
-
- // Didn't receive a bearer value.
- if ( iBearer == 0 )
- {
- // Access point address type can also tell the bearer
- if( iAccesspointNameType )
- {
- TPtrC addrType( iAccesspointNameType->Value() );
- if( addrType == KAddrTypeAPN )
- {
- iBearer =KUidPacketDataBearerType;
- }
- }
-
- // If still couldn't determine the bearer, default to GPRS
- if( iBearer == 0 )
- {
- iBearer = KUidPacketDataBearerType;
- }
- }
-
- // "NAP-ADDRESS" (Access point name) must be defined
- if( iAccesspointName )
- {
- if( iAccesspointName->Value() == KNullDesC )
- {
- return EFalse;
- }
- }
- else
- {
- return EFalse;
- }
-
- /*
- Combinations of authentication type, username and password and corressponding
- value of prompt for password field. AuthType in this table means that provisioning document
- contained authtype parameter and it was supported by the implementation.
- Provisioning document names are used in table.
- x means that value of the specified parameter is received and it was valid.
- AuthType received & supported
- | AuthName
- | | AuthSecret
- | | | "Prompt for Password"
- no
- x no
- x no
- x x yes
- x no
- x x yes
- x x no
- x x x no
- */
-
- // Set the "prompt password"-value. See the table above. Value is set to true
- // only if we have supported authentication type and either username or password
- // is empty.
- if ( IsReceived( EWPParameterAuthentication_id ) &&
- ( ( !iPassword && iUserName ) ||( iPassword && !iUserName ) ) )
- {
- iPromptPassword = ETrue;
- }
-
- // IFNETWORKS is a list of possible protocols that a GPRS access points can be
- // used for.
- if( iBearer == KUidPacketDataBearerType && IsReceived( EWPParameterIfNetworks_id ) )
- {
- TLex lex( iIfNetworks->Value() );
- lex.Mark();
- do
- {
- TChar ch( lex.Get() );
-
- if( ( !iPdpType && !ch.IsAlphaDigit() ) || ( !iPdpType && lex.Eos() ) )
- {
- if(!lex.Eos())
- {
- lex.UnGet();
- }
- TPtrC value( lex.MarkedToken() );
- if( !lex.Eos() )
- {
- lex.Inc();
- }
-
- if( value == KIPv6
- && FeatureManager::FeatureSupported( KFeatureIdIPv6 ) )
- {
- //iPdpType = EIPv6;
- // CMManager
- iPdpType = RPacketContext::EPdpTypeIPv6;
- result = ETrue;
- }
- else if( value == KIPv6
- && !FeatureManager::FeatureSupported( KFeatureIdIPv6 ) )
- {
- result = EFalse;
- }
- else if( value == KIPv4 )
- {
- //iPdpType = EIPv4;
- // CMManager
- iPdpType = RPacketContext::EPdpTypeIPv4;
- result = ETrue;
- }
- }
- } while( !lex.Eos() );
- }
-
- return result;
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::AddItemsL
-// -----------------------------------------------------------------------------
-//
-TInt CWPAPNapdef::AddItemsL( RPointerArray<CWPAPAccesspointItem>& aItems,
- CWPAPItemBase* aLogicalProxy,
- CWPAPItemBase* aPhysicalProxy )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddItemsL" ) );
-
- TInt count( 0 );
-
- if( ( iFollowingLink || IsReceived( EWPParameterInternet_id )
- || IsReceived( EWPParameterWlan_id ) )
- && ValidateL() )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddItemsL append" ) );
- CWPAPAccesspointItem* item = CWPAPAccesspointItem::NewLC(
- iDefaultName,
- aLogicalProxy,
- aPhysicalProxy,
- this,
- iCharacteristic );
- User::LeaveIfError( aItems.Append( item ) );
- //Internet Parameter is received
- if (IsReceived(EWPParameterInternet_id) && !iFollowingLink)
- {
- SetInternetIndicator(aItems.Count() - 1);
- }
-
-
- count++;
- CleanupStack::Pop( item );
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddItemsL append done" ) );
- }
- return count;
- }
-
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::SetInternetIndicator
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::SetInternetIndicator(TInt aValue)
- {
- iInternetIndicator = aValue;
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::GetInternetIndicator
-// -----------------------------------------------------------------------------
-//
-TInt CWPAPNapdef::GetInternetIndicator()
- {
- return iInternetIndicator;
- }
-
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::AddDataL
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::AddDataL( /*CApAccessPointItem& aAPItem*/ RCmConnectionMethodExt& aCmItem )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddDataL" ) );
-
- TInt err( KErrNone );
-
- if ( iBearer == KUidWlanBearerType )
- {
- if ( iWlanSupported )
- {
- // CMManager
- AddWlanDataL( aCmItem);
- }
- else
- {
- // WLAN is disabled (or does not exist) in the device.
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddDataL WLAN disabled." ) );
- User::Leave( KErrNotSupported );
- }
- }
- else
- {
- if ( iConnectionName )
- {
- // CMManager
- aCmItem.SetStringAttributeL( CMManager::ECmName, (iConnectionName->Value().Left( KNameMaxLength )));
- }
- else // Use default name
- {
- // CMManager
- aCmItem.SetStringAttributeL( CMManager::ECmName, iDefaultName );
- }
-
- if ( iAccesspointName )
- {
- if ( iBearer == KUidPacketDataBearerType )
- {
- // CMManager
- TRAP ( err, aCmItem.SetStringAttributeL( CMManager::EPacketDataAPName, iAccesspointName->Value() ));
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL value: %S, err: %d"),
- &iAccesspointName->Value(), err));
- }
- else
- {
- // CMManager
- TRAP ( err, aCmItem.SetStringAttributeL( CMManager::EDialDefaultTelNum, iAccesspointName->Value() ));
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::EApIspDefaultTelNumber value: %S, err: %d"),
- &iAccesspointName->Value(), err ) );
- }
- }
-
- TRAP ( err, aCmItem.UpdateL() );
-
- if ( iUserName )
- {
- // CMManager
- TRAP ( err, aCmItem.SetStringAttributeL( CMManager::EDialLoginName, iUserName->Value() ));
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL EDialLoginName value: %S, err: %d"),
- &iUserName->Value(), err));
- TRAP ( err, aCmItem.SetStringAttributeL( CMManager::EDialIFAuthName, iUserName->Value() ));
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL EDialIFAuthName value: %S, err: %d"),
- &iUserName->Value(), err));
- TRAP ( err, aCmItem.SetStringAttributeL( CMManager::ECmIFAuthName, iUserName->Value() ));
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL ECmIFAuthName value: %S, err: %d"),
- &iUserName->Value(), err));
- }
-
- // CMManager
- TRAP ( err, aCmItem.SetBoolAttributeL( CMManager::ECmIFPromptForAuth, iPromptPassword));
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL ECmIFPromptForAuth value: %d, err: %d"),
- iPromptPassword, err ));
-
- if ( iPassword )
- {
- // CMManager
- TRAP ( err, aCmItem.SetStringAttributeL( CMManager::EDialLoginPassword, iPassword->Value() ));
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL EDialLoginPassword value: %d, err: %d"),
- &iPassword->Value(), err ) );
- TRAP ( err, aCmItem.SetStringAttributeL( CMManager::ECmIFAuthPass, iPassword->Value() ));
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL ECmIFAuthPass value: %d, err: %d"),
- &iPassword->Value(), err ) );
- }
-
- // CMManager
- TRAP ( err, aCmItem.SetBoolAttributeL( CMManager::ECmDisablePlainTextAuth, iSecureAuthentication ));
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL EApEApIspDisablePlainTextAuth value: %d, err: %d"),
- iSecureAuthentication, err ) );
-
-
- // IPv6 APs always have dynamic phone address
- //CMManager
- if ( iPhoneIPAddress && iPdpType != RPacketContext::EPdpTypeIPv6 )
- {
- // CMManager IS CORRECT?
- //err = aAPItem.WriteTextL( EApIspIPAddr, iPhoneIPAddress->Value() );
- TRAP ( err, aCmItem.SetStringAttributeL( CMManager::ECmIPAddress, iPhoneIPAddress->Value() ));
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddDataL EApIspIPAddr value: %S, err: %d"),
- &iPhoneIPAddress->Value(), err ) );
- }
-
- TRAP ( err, aCmItem.UpdateL() );
- for( TInt i( 0 ); i < iNameServers.Count(); i++ )
- {
- WriteDNSAddressL( aCmItem, iNameServers[i]->Value() );
- }
- TRAP ( err, aCmItem.UpdateL() );
- if( FeatureManager::FeatureSupported( KFeatureIdIPv6 )
- && iPdpType )
- {
- // CMManager
- TRAP ( err, aCmItem.SetIntAttributeL( CMManager::EPacketDataPDPType, iPdpType ));
- }
-
- if ( err ) err = 0; // prevent compiler warning
- }
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddDataL" ) );
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::AddWlanDataL
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::AddWlanDataL( RCmConnectionMethodExt& aCmItem )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddWlanDataL" ) );
-
- if ( !iWlanSupported )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddWlanDataL WLAN NOT supported." ) );
- User::Leave( KErrNotSupported);
- }
-
- TInt err = KErrNone;
-
- if ( iConnectionName )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddWlanDataL iConnectionName" ) );
-
- //Connection name
- // CMManager
- aCmItem.SetStringAttributeL( CMManager::ECmName, iConnectionName->Value().Left( KNameMaxLength ) );
-
- // CMManager
- // Network name
- aCmItem.SetStringAttributeL( CMManager::EWlanSSID, iConnectionName->Value());
-
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddWlanDataL iConnectionName err (%d) (%S)"), err, &iConnectionName->Value()));
-
- }
- else // Use default name
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddWlanDataL iConnectionName default" ) );
- aCmItem.SetStringAttributeL( CMManager::EWlanSSID, iDefaultName);
- }
-
- //EApWlanNetworkMode Gives network mode, TUint32
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddWlanDataL EApWlanNetworkMode" ) );
- // CMManager
- TRAP ( err, aCmItem.SetIntAttributeL( CMManager::EWlanConnectionMode, iNetMode ));
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddWlanDataL EApWlanNetworkMode err (%d)"), err));
-
- //EApWlanSecurityMode The security mode, TUint32
- if ( iSecMode == 0 )
- {
- // This is needed if Provisioning message does not contain SECMODE parameter
- // AP does not work if secmode is not set
- iSecMode = CMManager::EWlanSecModeOpen;
- }
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::AddWlanDataL EApWlanSecurityMode" ) );
- // CMManager, securitymode causes error -1, this will be set manually in SaveWlanData
- //TRAP ( err, aCmItem.SetIntAttributeL( CMManager::EWlanSecurityMode, iSecMode ));
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::AddWlanDataL EApWlanSecurityMode err (%d)"), err));
-
- if (err)
- {
- err = KErrNone;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::WriteDNSAddressL
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::WriteDNSAddressL( /*CApAccessPointItem& aAPItem*/ RCmConnectionMethodExt& aCmItem,
- const TDesC& aValue )
- {
- // GPRS access points supports IPv6 only if explicitly stated.
- // CMManager
- TBool apSupportsIPv6( iPdpType == RPacketContext::EPdpTypeIPv6 | iBearer != KUidPacketDataBearerType );
-
- // If IPv6 is supported, write the DNS address as IPv6 if
- // bearer supports IPv6 and the address format is IPv6
- if( FeatureManager::FeatureSupported( KFeatureIdIPv6 )
- && apSupportsIPv6
- && WPAdapterUtil::CheckIPv6( aValue ) )
- {
- // Two name servers per network type
- if( iNumIPv6NameServers < KTwoNameServersPerNetworkType )
- {
- // CMManager
- TRAPD (err, aCmItem.SetStringAttributeL( CMManager::TConnectionMethodCommonAttributes(
- ( CMManager::ECmIP6NameServer1 ) + iNumIPv6NameServers ), aValue ) );
- User::LeaveIfError( err );
- iNumIPv6NameServers++;
- }
- }
- else if( CheckIPv4values( aValue) )
- {
- // Two name servers per network type
- if( iNumIPv4NameServers < KTwoNameServersPerNetworkType )
- {
- // CMManager
- TRAPD ( err, aCmItem.SetStringAttributeL( CMManager::TConnectionMethodCommonAttributes(
- ( CMManager::ECmIPNameServer1 ) + iNumIPv4NameServers ), aValue ) );
- User::LeaveIfError( err );
- aCmItem.SetBoolAttributeL( CMManager::ECmIPDNSAddrFromServer, EFalse);
- iNumIPv4NameServers++;
- }
- }
- }
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::CheckAddressPart
-// -----------------------------------------------------------------------------
-//
-
-TBool CWPAPNapdef:: CheckAddressPart( TLex& aLex )
- {
- TBool result( aLex.Peek().IsDigit() );
- aLex.Inc();
- if( aLex.Peek().IsDigit() )
- {
- aLex.Inc();
- if( aLex.Peek().IsDigit() )
- {
- aLex.Inc();
- }
- }
-
- return result;
- }
-
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::CheckIPv4values
-// -----------------------------------------------------------------------------
-//
-
-TBool CWPAPNapdef::CheckIPv4values( const TDesC& aValue )
-{
-
- TLex aLex( aValue );
- return CheckAddressPart( aLex )
- && aLex.Get() == '.'
- && CheckAddressPart( aLex )
- && aLex.Get() == '.'
- && CheckAddressPart( aLex )
- && aLex.Get() == '.'
- && CheckAddressPart( aLex )
- && aLex.Get() == '\0';
-
-}
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::Name
-// -----------------------------------------------------------------------------
-//
-const TDesC& CWPAPNapdef::Name()
- {
- if ( iConnectionName )
- {
- return iConnectionName->Value();
- }
- else
- {
- return KNullDesC;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::VisitL
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::VisitL( CWPCharacteristic& aCharacteristic )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::VisitL(CWPCharacteristic)" ) );
-
- TInt type = aCharacteristic.Type();
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::VisitL(CWPCharacteristic) type (%d)"), type));
- switch ( type )
- {
- case KWPNapAuthInfo:
- case KWPValidity:
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::VisitL(CWPCharacteristic) normal" ) );
- aCharacteristic.AcceptL( *this );
- break;
- }
- case KWPWLAN:
- case KWPWepKey:
- {
- if( iWlanSupported )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::VisitL(CWPCharacteristic) accept WLAN characteristic" ) );
- aCharacteristic.AcceptL( *this );
- }
- }
- default:
- {
- if ( ( ( ( aCharacteristic.Name().Compare( KWLAN ) ) == 0 ) ||
- ( ( aCharacteristic.Name().Compare( SECSSID ) ) == 0 ) ||
- ( ( aCharacteristic.Name().Compare( KEAP ) ) == 0 ) ||
- ( ( aCharacteristic.Name().Compare( KCERT ) ) == 0 ) ||
- ( ( aCharacteristic.Name().Compare( KWEP ) ) == 0 ) ) && iWlanSupported )
- {
- if(aCharacteristic.Name().Compare( KEAP ) == 0)
- {
- CEapTypeElement* newEap = new (ELeave) CEapTypeElement;
- newEap->iEAPSettings = new (ELeave) EAPSettings;
- newEap->iCertificate = new (ELeave) EapCertificateEntry;
- iEapTypeArray.AppendL(newEap);
- }
- else if(aCharacteristic.Name().Compare( SECSSID ) == 0)
- {
- SECssID* newsecSSID = new (ELeave) SECssID;
- newsecSSID->iSSSID = NULL;
- newsecSSID->iSUSSID = NULL;
- iSecSSID.AppendL(newsecSSID);
- }
-
- aCharacteristic.AcceptL( *this );
- }
- }
- }
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::VisitL(CWPCharacteristic) done" ) );
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::VisitL
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::VisitL( CWPParameter& aParameter )
- {
- TInt id = aParameter.ID();
- TPtrC value( aParameter.Value() );
-
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::VisitL(CWPParameter) id: %d value: %S"), id, &value));
-
- switch ( id )
- {
- case EWPParameterName:
- {
- if ( !iConnectionName )
- {
- iConnectionName = &aParameter;
- }
- break;
- }
- case EWPParameterBearer:
- {
- if ( iBearer != 0 || iBearerUnsupported )
- {
- break; // Already received a bearer information
- }
-
- if ( value == KGSMGPRS )
- {
- iBearer = KUidPacketDataBearerType;
- }
- else if ( value == KWLAN && iWlanSupported )
- {
- iBearer = KUidWlanBearerType;
- MarkReceived( EWPParameterWlan_id );
- }
- else
- {
- // Unsupported bearer type
- iBearerUnsupported = ETrue;
- }
- break;
- }
- case EWPParameterNapAddress:
- {
- if ( !iAccesspointName )
- {
- iAccesspointName = &aParameter;
- }
- break;
- }
- case EWPParameterLinger:
- {
- iLinger = &aParameter;
- UdateligerValueL( iLinger );
- break;
- }
- case EWPParameterNapAddrType:
- {
- if ( !iAccesspointNameType )
- {
- iAccesspointNameType = &aParameter;
- }
- break;
- }
- case EWPParameterAuthName:
- {
- if ( !iUserName )
- {
- iUserName = &aParameter;
- }
- break;
- }
- case EWPParameterAuthSecret:
- {
- if ( !iPassword )
- {
- iPassword = &aParameter;
- }
- break;
- }
- case EWPParameterAuthType:
- {
- // If already received don't accept
- if (IsReceived(EWPParameterAuthentication_id))
- {
- break;
- }
-
- if ( value == KCHAP || value == KMD5 )
- {
- iSecureAuthentication = ETrue;
- MarkReceived( EWPParameterAuthentication_id );
- }
- else if ( value == KPAP )
- {
- iSecureAuthentication = EFalse;
- MarkReceived( EWPParameterAuthentication_id );
- }
- else
- {
- // Not supported...
- }
- break;
- }
- case EWPParameterLocalAddr: // iPhoneIPAddress
- {
- if ( !iPhoneIPAddress )
- {
- iPhoneIPAddress = &aParameter;
- }
- break;
- }
- case EWPParameterDNSAddr:
- {
- // All name servers must be stored, as some of them might
- // be IPv6 and some IPv4
- User::LeaveIfError( iNameServers.Append( &aParameter ) );
- break;
- }
- case EWPParameterIfNetworks:
- {
- if( !iIfNetworks )
- {
- iIfNetworks = &aParameter;
- MarkReceived( EWPParameterIfNetworks_id );
- }
- break;
- }
- case EWPParameterInternet:
- {
- MarkReceived( EWPParameterInternet_id );
- break;
- }
-//JMan for WLan
- case EWPParameterNapID:
- {
- if ( !iNapID )
- {
- iNapID = &aParameter;
- }
- break;
- }
- // Here case 0 are handled the WLAN parameters that are extensions
- // to OMA Client Provisioning parameter set.
- case 0:
- {
- if( iWlanSupported )
- {
- HandleWLanParametersL( aParameter );
- }
- break;
- }
-//JMan for WLan ends
- default:
- {
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::HandleWLanParametersL
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::HandleWLanParametersL( CWPParameter& aParameter )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL" ) );
-
- if( !iWlanSupported )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL WLAN not supported." ) );
- User::Leave( KErrNotSupported );
- }
-
- SECssID* scssid = NULL;
- if( iSecSSID.Count() )
- {
- scssid = iSecSSID[iSecSSID.Count()-1];
- }
-
- TPtrC value( aParameter.Value() );
- if( ( aParameter.Name().Compare( PRISSID ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL iPriSSID" ) );
- if ( !iPriSSID )
- {
- iPriSSID = &aParameter;
- }
- }
- else if( ( aParameter.Name().Compare( PRIUSSID ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL iPriUSSID" ) );
- if ( !iPriUSSID )
- {
- iPriUSSID = &aParameter;
- }
- }// else if
-
- else if( ( aParameter.Name().Compare( PRIHSSID ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL iPriHSSID" ) );
- if ( !iPriHSSID )
- {
- iPriHSSID = &aParameter;
- }
- }// else if
-
- else if( ( aParameter.Name().Compare( SSSID ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL iPriHSSID" ) );
- if(scssid!=NULL)
- {
- scssid->iSSSID = &aParameter;
- }
-
-
- }// else if
-
- else if( ( aParameter.Name().Compare( SUSSID ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL iPriHSSID" ) );
- if(scssid!=NULL)
- {
- scssid->iSUSSID = &aParameter;
- }
- }// else if
-
- else if( ( aParameter.Name().Compare( NETMODE ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL netmode" ) );
- if ( value == KADHOC )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL netmode adhoc" ) );
- iNetMode = CMManager::EAdhoc;
- }
- else // default is INFRA
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL netmode infra" ) );
- iNetMode =CMManager::EInfra;
- }
- }
-
- else if( ( aParameter.Name().Compare( SECMODE ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL secmode" ) );
- if ( value == KWEPSEC )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL secmode KWEPSEC" ) );
- iSecMode = CMManager::EWlanSecModeWep;
- }
- else if( value == K8021XSEC )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL secmode K8021XSEC" ) );
- iSecMode = CMManager::EWlanSecMode802_1x;
- }
- else if( value == KWPASEC )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL secmode KWPASEC" ) );
-
- iSecMode = CMManager::EWlanSecModeWpa;
- }
- else if( value == KWPA2SEC )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL secmode KWPA2SEC" ) );
- iSecMode = CMManager::EWlanSecModeWpa2;
- }
- else if( value == KWPAPRESSEC )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL secmode KWPAPRESSEC" ) );
- iSecMode = CMManager::EWlanSecModeWpa;
- }
- else if( value == KWPA2PRESSEC )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL secmode KWPA2PRESSEC" ) );
- iSecMode = CMManager::EWlanSecModeWpa2;
- }
- else
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL secmode open" ) );
- iSecMode = CMManager::EWlanSecModeOpen;
- }
- }
-
- else if( ( aParameter.Name().Compare( WPAPRESKEYASC ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL WPAPRESKEYASC" ) );
- if ( !iWpaPresKeyAsc )
- {
- iWpaPresKeyAsc = &aParameter;
- }
- }// else if
- // indicates the default wepkey index
- else if( ( aParameter.Name().Compare( DEFAULTWEPIND ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL wepind" ) );
-
- TLex lex( value );
- lex.Val( iDefaultWepKeyIndex );
- if ( iDefaultWepKeyIndex >= 4 )
- {
- iDefaultWepKeyIndex = 0;
- }
- }// else if
-
- else if( ( aParameter.Name().Compare( WEPAUTHMODE ) ) == 0 )
- {
- if ( value == KWEPAUTHMODEOPEN )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL wepauthmode OPEN" ) );
- iAuthentication = EAuthOpen;
- }
- else if ( value == KWEPAUTHMODESHARED )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL wepauthmode SHARED" ) );
- iAuthentication = EAuthShared;
- }
- }// else if
-
- else if( ( aParameter.Name().Compare( WEPKEYLENGTH ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL WEPKEYLENGTH" ) );
- if ( !iWepKeyLength )
- {
- iWepKeyLength = &aParameter;
- }
- }// else if
- else if( ( aParameter.Name().Compare( WEPKEYINDEX ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL WEPKEYINDEX" ) );
- TLex lex( value );
- lex.Val( iWepInd );
- }// else if
- else if( ( aParameter.Name().Compare( WEPKEYDATA ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL WEPKEYDATA" ) );
-
- if ( iWepInd < 4 )
- {
- const TUint8 K40Bits = 5;
- const TUint8 K104Bits = 13;
- const TUint8 K232Bits = 29;
-
- TBuf8<KMaxLengthOfKeyData> buf8;
- StrCopy( buf8, aParameter.Value() );
-
- if(buf8.Length() == K232Bits ||
- buf8.Length() == K104Bits ||
- buf8.Length() == K40Bits )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL ASCI Wep Key" ) );
- HBufC8* buf8Conv = HBufC8::NewLC( KMaxLengthOfKeyData );
- ConvertAsciiToHex( buf8, buf8Conv );
- iKeyData[iWepInd] = *buf8Conv;
- iKeyFormat[iWepInd] = CWPAPNapdef::EAscii;
- CleanupStack::PopAndDestroy( buf8Conv );
- }
- else if( buf8.Length()==K232Bits*2 ||
- buf8.Length()== K104Bits*2 ||
- buf8.Length() == K40Bits*2)
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL HEX Wep Key" ) );
- iKeyData[iWepInd] = buf8;
- iKeyFormat[iWepInd] = CWPAPNapdef::EHexadecimal;
- }
- }
-
- }// else if
-
- // Handle EAP parameter
- HandleEAPParametersCCL( aParameter );
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleWLanParametersL done" ) );
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::HandleEAPParametersL
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::HandleEAPParametersCCL( CWPParameter& aParameter )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL" ) );
-
- CEapTypeElement* eap = NULL;
- if ( iEapTypeArray.Count() )
- {
- eap = iEapTypeArray[iEapTypeArray.Count()-1];
- }
- if(!eap)
- {
- return;
- }
-
- TPtrC value( aParameter.Value() );
-
- if( ( aParameter.Name().Compare( EAPTYPE ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPTYPE" ) );
-
- ConvertEAPStringToIds( value, eap->iEapTypeString, eap->iEAPSettings->iEAPExpandedType );
-
- }
- else if( ( aParameter.Name().Compare( EAPUSERNAME ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPUSERNAME" ) );
- if ( eap->iEAPSettings->iUsername.Length() == 0 )
- {
- eap->iEAPSettings->iUsername = value;
- eap->iEAPSettings->iUsernamePresent = ETrue;
- eap->iEAPSettings->iUseAutomaticUsernamePresent = ETrue;
- eap->iEAPSettings->iUseAutomaticUsername = EFalse;
- }
- }// else if
- else if( ( aParameter.Name().Compare( EAPPASSWORD ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPPASSWORD" ) );
- if ( eap->iEAPSettings->iPassword.Length() == 0 )
- {
- eap->iEAPSettings->iPassword = value;
- eap->iEAPSettings->iPasswordPresent = ETrue;
- eap->iEAPSettings-> iShowPassWordPromptPresent = ETrue;
- eap->iEAPSettings-> iShowPassWordPrompt = EFalse;
- }
- }// else if
- else if( ( aParameter.Name().Compare( EAPREALM ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPREALM" ) );
-
- if ( eap->iEAPSettings->iRealm.Length() == 0 )
- {
- eap->iEAPSettings->iRealm = value;
- eap->iEAPSettings->iRealmPresent = ETrue;
- eap->iEAPSettings->iUseAutomaticRealmPresent = ETrue;
- eap->iEAPSettings->iUseAutomaticRealm = EFalse;
- }
- }// else if
- else if( ( aParameter.Name().Compare( EAPUSEPSEUD ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPUSEPSEUD" ) );
- TInt pseudonyms;
- TLex lex( value );
- lex.Val( pseudonyms );
-
- eap->iEAPSettings->iUsePseudonymsPresent = ETrue;
- if ( pseudonyms == 1 )
- {
- eap->iEAPSettings->iUsePseudonyms = ETrue;
- }
- else
- {
- eap->iEAPSettings->iUsePseudonyms = EFalse;
- }
- }// else if
- else if( ( aParameter.Name().Compare( EAPMAXAUTHS ) ) == 0 )
- {
- // not supported
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPMAXAUTHS" ) );
- }// else if
- else if( ( aParameter.Name().Compare( EAPENCAPS ) ) == 0 )
- {
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPENCAPS" ) );
-
- TEapExpandedType dummy;
- ConvertEAPStringToIds( value, eap->iEncapsulatingExpandedEapId, dummy );
-
- }// else if
- else if( ( aParameter.Name().Compare( EAPVERSERREALM ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPVERSERREALM" ) );
-
- TInt serverRealm;
- TLex lex( value );
- lex.Val( serverRealm );
-
- eap->iEAPSettings->iVerifyServerRealmPresent = ETrue;
-
- if ( serverRealm == 1 )
- {
- eap->iEAPSettings->iVerifyServerRealm = ETrue;
- }
- else
- {
- eap->iEAPSettings->iVerifyServerRealm = EFalse;
- }
- }// else if
- else if( ( aParameter.Name().Compare( EAPCLIENTHAUTH ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPCLIENTHAUTH" ) );
-
- TInt clientAuthentication;
- TLex lex( value );
- lex.Val( clientAuthentication );
-
- eap->iEAPSettings->iRequireClientAuthenticationPresent = ETrue;
-
- if ( clientAuthentication == 1 )
- {
- eap->iEAPSettings->iRequireClientAuthentication = ETrue;
- }
- else
- {
- eap->iEAPSettings->iRequireClientAuthentication = EFalse;
- }
- }// else if
- else if( ( aParameter.Name().Compare( EAPSESVALTIME ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPSESVALTIME" ) );
-
- TInt sessionValidityTime;
- TLex lex( value );
- lex.Val( sessionValidityTime );
- eap->iEAPSettings->iSessionValidityTime = sessionValidityTime;
- eap->iEAPSettings->iSessionValidityTimePresent = ETrue;
-
- }// else if
- else if( ( aParameter.Name().Compare( EAPCIPSUIT ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPCIPSUIT" ) );
-
- TInt cipherSuites;
- TLex lex( value );
- lex.Val( cipherSuites );
- eap->iEAPSettings->iCipherSuites.Append( cipherSuites );
- eap->iEAPSettings->iCipherSuitesPresent = ETrue;
-
- }// else if
- else if( ( aParameter.Name().Compare( EAPPEAPV0 ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPPEAPV0" ) );
-
- TInt peap;
- TLex lex( value );
- lex.Val( peap );
-
- eap->iEAPSettings->iPEAPVersionsPresent = ETrue;
- if ( peap == 1 )
- {
- eap->iEAPSettings->iPEAPv0Allowed = ETrue;
- }
- else
- {
- eap->iEAPSettings->iPEAPv0Allowed = EFalse;
- }
- }// else if
- else if( ( aParameter.Name().Compare( EAPPEAPV1 ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPPEAPV1" ) );
- TInt peap;
- TLex lex( value );
- lex.Val( peap );
- eap->iEAPSettings->iPEAPVersionsPresent = ETrue;
- if ( peap == 1 )
- {
- eap->iEAPSettings->iPEAPv1Allowed = ETrue;
- }
- else
- {
- eap->iEAPSettings->iPEAPv1Allowed = EFalse;
- }
- }// else if
- else if( ( aParameter.Name().Compare( EAPPEAPV2 ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPPEAPV2" ) );
- TInt peap;
- TLex lex( value );
- lex.Val( peap );
- eap->iEAPSettings->iPEAPVersionsPresent = ETrue;
- if ( peap == 1 )
- {
- eap->iEAPSettings->iPEAPv2Allowed = ETrue;
- }
- else
- {
- eap->iEAPSettings->iPEAPv2Allowed = EFalse;
- }
- }// else if
-
- else if( ( aParameter.Name().Compare( EAPISSNAME ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPISSNAME" ) );
-
- eap->iCertificate->SetSubjectName(value);
- eap->iCertificate->SetSubjectNamePresent();
- }// else if
-
- else if( ( aParameter.Name().Compare( EAPSUBNAME ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPSUBNAME" ) );
-
- eap->iCertificate->SetIssuerName(value);
- eap->iCertificate->SetIssuerNamePresent();
- }// else if
-
- else if( ( aParameter.Name().Compare( EAPCERTTYPE ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPCERTTYPE" ) );
- if ( value == EAPCERTCA )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EEapSim" ) );
-
- eap->iCertificate->SetCertType(EapCertificateEntry::ECA);
- eap->iEAPSettings-> iUseAutomaticCACertificatePresent = ETrue;
- eap->iEAPSettings-> iUseAutomaticCACertificate = EFalse;
- }
- else
- {
- eap->iCertificate->SetCertType(EapCertificateEntry::EUser);
- }
- // Certificates must be present since this field was added
- eap->iEAPSettings->iCertificatesPresent = ETrue;
- eap->iCertificate->SetIsEnabledPresent();
- eap->iCertificate->SetIsEnabled(ETrue) ;
-
- }// else if
- else if( ( aParameter.Name().Compare( EAPSERNUM ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPSERNUM" ) );
-
- eap->iCertificate->SetSerialNumber(value);
- eap->iCertificate->SetSerialNumberPresent();
- }// else if
-
- else if( ( aParameter.Name().Compare( EAPSUBKEYID ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPSUBKEYID" ) );
-
- _LIT(KHexIdLC, "0x");
- _LIT(KHexIdUC, "0X");
- TBuf<2> HexIdBuf;
- TInt keyLen = aParameter.Value().Length();
-
- // setting the given key to the key buffer
- TBuf<KMaxSubKeyLenght> origKey;
- origKey.SetLength(keyLen);
- origKey = aParameter.Value();
- TBuf<KMaxSubKeyLenght> key;
- TLex tmpByte;
- TInt err(KErrNone);
- TUint16 byte;
-
- // Remove possible spaces from the beginning
- origKey.TrimLeft();
-
- // if the key is over two chars long, then we have to check
- // whether there is 0x or 0X in the beginning
- if (origKey.Length() >= 2)
- {
- // Copy the two left most characters in to the buffer
- HexIdBuf.Copy(origKey.Left(2));
-
- // If the first characters are 0x or 0X, then they should be ignored
- if (HexIdBuf.Compare(KHexIdLC) == 0
- || HexIdBuf.Compare(KHexIdUC) == 0)
- {
- // delete two characters
- origKey.Delete(0, 2);
- }
- }
-
- // looping the subject key through, removing whitespaces
- for (TInt i = 0; i < keyLen; i++)
- {
- // removing white spaces from the left side of the key
- origKey.TrimLeft();
- // check that there are characters left
- if (origKey.Length() >= 2)
- {
- // pick the two left most bytes from the key
- tmpByte = origKey.Left(2);
- // convert byte into binary format
- err = tmpByte.Val(byte, EHex);
-
- // delete two characters from the left side of the character array in the buffer
- origKey.Delete(0, 2);
-
- // check whether conversion to decimal went ok
- if (err != KErrNone)
- {
- // if there are problems, then leave the loop
- break;
- }
-
- // store the appended byte into the key variable
- key.Append(byte);
- }
-
- else if (origKey.Length() == 1)
- {
- // pick the left most bytes from the key
- tmpByte = origKey.Left(1);
- // convert byte into binary format
- err = tmpByte.Val(byte, EHex);
-
- // delete two characters from the left side of the character array in the buffer
- origKey.Delete(0, 1);
-
- // check whether conversion to decimal went ok
- if (err != KErrNone)
- {
- // if there are problems, then leave the loop
- break;
- }
-
- // store the appended byte into the key variable
- key.Append(byte);
- }
- else
- {
- break;
- }
- }
- TBuf8<KMaxSubKeyLenght> keyIdentifier;
- keyIdentifier.Copy(key);
- // store key value only if no errors occurred
- if (err == KErrNone)
- {
- eap->iCertificate->SetSubjectKeyId(keyIdentifier);
- eap->iCertificate->SetSubjectKeyIdPresent();
- eap->iEAPSettings->iCertificatesPresent = ETrue;
- }
- }
-
-
- else if( ( aParameter.Name().Compare( EAPTHUMBPRINT ) ) == 0 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::HandleEAPParametersL EAPTHUMBPRINT" ) );
- eap->iCertificate->SetThumbprintPresent();
- eap->iCertificate->SetThumbprint(value);
- }// else if
- }
-
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::CWPAPNapdef
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// -----------------------------------------------------------------------------
-//
-CWPAPNapdef::CWPAPNapdef( TBool aFollowingLink,
- const TDesC& aDefaultName,
- CWPCharacteristic& aLogicalCharacteristic )
- : CWPAPItemBase( aDefaultName ),
- iCharacteristic( aLogicalCharacteristic ),
- iFollowingLink( aFollowingLink )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::ConstructL
-// Symbian 2nd phase constructor can leave.
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::ConstructL()
- {
- iLingerValue = NULL;
- iLingerFlag = ETrue;
- iInternetIndicator = -1;
- //checks if Wlan feature is supported
- FeatureManager::InitializeLibL();
- iWlanSupported = FeatureManager::FeatureSupported( KFeatureIdProtocolWlan );
- FeatureManager::UnInitializeLib();
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::SaveWlanDataL
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::SaveWlanDataL( TUint32 aIapId, CCommsDatabase& aCommsDb )
- {
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL APid: (%d)"), aIapId) );
-
- if ( iBearer == KUidWlanBearerType )
- {
- CCommsDbTableView* wLanServiceTable;
-
- // CMManager
- // Search the Iap Service Id using the received IapId
- RCmConnectionMethodExt cm = iCm->ConnectionMethodL( aIapId );
- TUint32 serviceId = cm.GetIntAttributeL( CMManager::ECmIapServiceId );
-
- // The BeginTransaction might fail if someone else has locked CommsDat
- TInt dberr = aCommsDb.BeginTransaction();
- if( dberr == KErrLocked )
- {
- // Try BeginTransaction again to get lock
- TInt retry = KBeginTransRetryCount;
- while ( retry > 0 && dberr == KErrLocked )
- {
- User::After(KBeginTransRetryDelay);
- dberr = aCommsDb.BeginTransaction();
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL: Database locked. BeginTransaction retry." ) );
- retry--;
- }
- if(dberr != KErrNone)
- {
- // Could not get lock to CommsDat at all
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL: BeginTransaction failed completely." ) );
- User::Leave( dberr );
- }
- }
-
- TInt indexToSec = 0;
- wLanServiceTable = aCommsDb.OpenViewMatchingUintLC(
- TPtrC( WLAN_SERVICE ), TPtrC( WLAN_SERVICE_ID ), serviceId );
- TInt errorCode = wLanServiceTable->GotoFirstRecord();
-
- if ( errorCode == KErrNone )
- {
- indexToSec = serviceId;
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL updaterecord" ) );
- wLanServiceTable->UpdateRecord();
- }
- else
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL insertrecord" ) );
- TUint32 dummyUid( 0 );
- User::LeaveIfError( wLanServiceTable->InsertRecord( dummyUid ) );
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteUintL WLAN_SERVICE_ID" ) );
- // Save link to LAN service
- wLanServiceTable->WriteUintL( TPtrC( WLAN_SERVICE_ID ), aIapId );
- indexToSec = aIapId;
- }
-
- // Setting the security mode manually, because CMManager does not do that
- wLanServiceTable->WriteUintL( TPtrC( WLAN_SECURITY_MODE ), iSecMode );
-
- if( iSecSSID.Count() )
- {
- CCommsDbTableView* wLanSecserviceTable;
- wLanSecserviceTable = aCommsDb.OpenTableLC( TPtrC( WLAN_SECONDARY_SSID ) );
- //CleanupStack::Pop(wLanSecserviceTable); // wLanSecserviceTable
- TBuf<4> blank;
- blank.Append(KNullDesC);
-
- TBool sssid = EFalse;
- TBool sussid = EFalse;
-
- for(TInt i = 0; i < iSecSSID.Count(); i++ )
- {
- TUint32 id ;
-
-
- TInt retval = wLanSecserviceTable->InsertRecord(id);
- wLanSecserviceTable->WriteUintL(TPtrC(WLAN_SEC_SSID_SERVICE_ID), indexToSec );
- wLanSecserviceTable->WriteUintL(TPtrC(WLAN_SEC_SSID_ID), id );
-
- if( iSecSSID[i]->iSSSID != NULL)
- sssid = ETrue;
- if(iSecSSID[i]->iSUSSID != NULL)
- sussid = ETrue;
-
- if((sssid && iSecSSID[i]->iSSSID->Value() != blank) || (sussid && iSecSSID[i]->iSUSSID->Value() != blank ))
- {
- if( sssid )
- wLanSecserviceTable->WriteTextL(TPtrC(WLAN_SEC_SSID_SCANNED_SSID), iSecSSID[i]->iSSSID->Value());
-
- if(sussid)
- wLanSecserviceTable->WriteTextL(TPtrC(WLAN_SEC_SSID_USED_SSID), iSecSSID[i]->iSUSSID->Value());
-
- }
- wLanSecserviceTable->PutRecordChanges();
- sssid = EFalse;
- sussid = EFalse;
- }
- CleanupStack::PopAndDestroy( wLanSecserviceTable );
- }
-
- iSecSSID.ResetAndDestroy();
- iSecSSID.Close();
- if ( iPriSSID )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL NU_WLAN_SSID" ) );
- // Save NU_WLAN_SSID
- wLanServiceTable->WriteTextL( TPtrC(NU_WLAN_SSID), iPriSSID->Value() );
- }
- if ( iPriUSSID )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL WLAN_USED_SSID" ) );
- // Save WLAN_USED_SSID
- wLanServiceTable->WriteTextL( TPtrC(WLAN_USED_SSID), iPriUSSID->Value() );
- }
- if ( iPriHSSID )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL WLAN_SCAN_SSID" ) );
- // Save WLAN_SCAN_SSID
- wLanServiceTable->WriteBoolL( TPtrC(WLAN_SCAN_SSID), ETrue );
- }
- else
- {
- wLanServiceTable->WriteBoolL( TPtrC(WLAN_SCAN_SSID), EFalse );
- }
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteUintL WLAN_WEP_INDEX" ) );
- // Save index of key in use
- wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_INDEX ),
- (TUint32&) iDefaultWepKeyIndex );
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteUintL WLAN_WEP_INDEX: (%d)"), iDefaultWepKeyIndex) );
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteUintL NU_WLAN_AUTHENTICATION_MODE" ) );
- // Open / Shared (0/1)
- // Save index of key in use
- wLanServiceTable->WriteUintL( TPtrC( NU_WLAN_AUTHENTICATION_MODE ),
- ( TUint32& ) iAuthentication );
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteUintL NU_WLAN_AUTHENTICATION_MODE: (%d)"), iAuthentication) );
-
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL NU_WLAN_WEP_KEY1" ) );
- // Save first WEP key
- wLanServiceTable->WriteTextL( TPtrC( NU_WLAN_WEP_KEY1 ), iKeyData[0] );
- wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_KEY1_FORMAT ),
- ( TUint32& ) iKeyFormat[0] );
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL (%S)"), &iKeyData[0] ) );
-
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL NU_WLAN_WEP_KEY2" ) );
- // Save second WEP key
- wLanServiceTable->WriteTextL( TPtrC( NU_WLAN_WEP_KEY2 ), iKeyData[1] );
- wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_KEY2_FORMAT ),
- ( TUint32& ) iKeyFormat[1] );
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL (%S)"), &iKeyData[1] ) );
-
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL NU_WLAN_WEP_KEY3" ) );
- // Save third WEP key
- wLanServiceTable->WriteTextL( TPtrC( NU_WLAN_WEP_KEY3 ), iKeyData[2] );
- wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_KEY3_FORMAT ),
- ( TUint32& ) iKeyFormat[2] );
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL (%S)"), &iKeyData[2] ) );
-
-
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL NU_WLAN_WEP_KEY4" ) );
- // Save fourth WEP key
- wLanServiceTable->WriteTextL( TPtrC( NU_WLAN_WEP_KEY4 ), iKeyData[3] );
- wLanServiceTable->WriteUintL( TPtrC( WLAN_WEP_KEY4_FORMAT ),
- ( TUint32& ) iKeyFormat[3] );
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL (%S)"), &iKeyData[3] ) );
-
-
- if ( iWpaPresKeyAsc )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL convert WPAKEY to ascii" ) );
- // convert unicode to 8-bit ascii
- TBuf8<KMaxWpaPskLength> wpaKey;
- StrCopy( wpaKey, iWpaPresKeyAsc->Value() );
-
- // Enable WPA Pre Shared key mode
- wLanServiceTable->WriteBoolL( TPtrC( WLAN_ENABLE_WPA_PSK ), ETrue );
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteUintL WLAN_WPA_PRE_SHARED_KEY" ) );
- // Save PreShared Key
- wLanServiceTable->WriteTextL( TPtrC( WLAN_WPA_PRE_SHARED_KEY ),
- wpaKey );
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteUintL WLAN_WPA_KEY_LENGTH" ) );
- // Save PreShared Key Length
- wLanServiceTable->WriteUintL( TPtrC( WLAN_WPA_KEY_LENGTH ),
- wpaKey.Length() );
- }
-
- TBuf<KMaxLengthOfEapList> eapList;
- eapList.Copy(KEapAll);
-
- for (TInt i=0;i<iEapTypeArray.Count();i++)
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL save EAP settings" ) );
- CEapTypeElement* eap = iEapTypeArray[i];
-
- if ( eap->iEAPSettings->iCertificatesPresent )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL Certificate was present." ) );
- eap->iEAPSettings->iCertificates.Append( eap->iCertificate );
- }
-
- // Save EAP list
- if ( eap->iEapTypeString.Length() > 0
- && eap->iEncapsulatingExpandedEapId.Length() == 0) // AND method is not encapsulated
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL WriteTextL WLAN_EAPS" ) );
-
- TBuf8<3> buf;
- _LIT8(KFormat, "%d");
- // pick the last byte from the array
- buf.Format(KFormat, eap->iEapTypeString[KExpandedEapIdLength - 1]);
- // search for the correct offset for the eap type from the KEapAll literal
- TInt index = KEapAll().Find(buf);
-
- const TUint8 offset = 2; //length = f "-0" string
- // Add '+' to the correct offset, so that the eap is repsesented activated in the list
- if(index >= offset)
- {
- eapList[index-offset] = KEapPlus;
- }
-
- }
- // Set iEncapsulatingEapTypes
- for ( TInt j = 0; j < iEapTypeArray.Count(); j++ )
- {
- // Check if any method has this method as the encapsulating method
- if ( eap->iEapTypeString == iEapTypeArray[j]->iEncapsulatingExpandedEapId )
- {
- // Append this method to iEncapsulatedEAPType
- eap->iEAPSettings->iEnabledEncapsulatedEAPExpandedTypes.Append( iEapTypeArray[j]->iEAPSettings->iEAPExpandedType );
- eap->iEAPSettings->iEnabledEncapsulatedEAPExpandedTypesPresent = ETrue;
- }
- }
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL save EAP settings CEapType::NewL" ) );
- CEapType* eapType = NULL;
-
-
- TRAPD( error, ( eapType = CEapType::NewL( ELan, serviceId, eap->iEAPSettings->iEAPExpandedType ) ) );
-
- if ( ( error == KErrNone ) && eapType )
- {
- CleanupStack::PushL( eapType );
-
- // Check if this type is tunneled
- if ( eap->iEncapsulatingExpandedEapId.Length() > 0 )
- {
- // It is tunneled.
- eapType->SetTunnelingType( eap->iEncapsulatingExpandedEapId);
-
- }
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL save EAP settings SetConfigurationL" ) );
- TRAP_IGNORE( eapType->SetConfigurationL( *eap->iEAPSettings ) );
-
- CleanupStack::PopAndDestroy( eapType );
-
- }
- else
- {
- FTRACE(RDebug::Print(_L("[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL CEapType::NewL err: %d"), error ) );
- }
-
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL save EAP settings done" ) );
- }
-
-
-
- // Expanded EAP types in use. Write the eap list to the new columns.
-
- // 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( eapList );
- TInt numPlus = 0;
- TInt numMinus = 0;
- TChar ch;
- while ( !lex.Eos() )
- {
- ch = lex.Get();
- if ( ch == '+' ) ++numPlus;
- else if ( ch == '-' ) ++numMinus;
- }
- // load general EAP settings If
- CEapGeneralSettings* genSettings;
- genSettings = CEapGeneralSettings::NewL(ELan, serviceId);
- CleanupStack::PushL( genSettings );
-
- // get lists of enabled/disabled EAPs for the IAP
-
- RArray<TEapExpandedType> enabledEapMethods;
- RArray<TEapExpandedType> disabledEapMethods;
-
- enabledEapMethods.Reset();
- disabledEapMethods.Reset();
-
- lex.Assign( eapList );
-
- while ( !lex.Eos() )
- {
- // beginning of implementation UID
- TInt16 implUid = 0;
-
- if ( lex.Val( implUid ) != KErrNone || !implUid )
- {
- 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 )
- {
- TBuf8<KExpandedEapIdLength> tempbuf;
- if(Abs( implUid ) == KPlainMsChapV2ImplUid)
- {
- tempbuf.Append(KMsChapV2Padding);
- }
- else
- {
- tempbuf.Append(KPadding);
- }
- tempbuf.Append(Abs( implUid ));
- TEapExpandedType expandedTypebuf(tempbuf);
- enabledEapMethods.Append(expandedTypebuf);
- }
-
- // swallow the delimiter (',')
- lex.Get();
- }
-
- genSettings->SetEapMethods(enabledEapMethods, disabledEapMethods);
-
- CleanupStack::PopAndDestroy( genSettings );
-
-
-
-
- iEapTypeArray.ResetAndDestroy();
- wLanServiceTable->PutRecordChanges();
-
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL PutRecordChanges" ) );
- CleanupStack::PopAndDestroy( wLanServiceTable );
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL done" ) );
- aCommsDb.CommitTransaction();
- }
- else
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::SaveWlanDataL ignored not a WLAN AP" ) );
- }
-
- }
-
-//------------------------------------------------------------------------------
-// CWPAPNapdef::ConvertAsciiToHex
-//------------------------------------------------------------------------------
-//
-void CWPAPNapdef::ConvertAsciiToHex( const TDesC8& aSource, HBufC8*& aDest )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertAsciiToHex" ) );
-
- _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] );
- }
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertAsciiToHex Done" ) );
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::StrCopy
-// String copy with lenght check.
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::StrCopy( TDes8& aTarget, const TDesC& aSource )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::StrCopy" ) );
-
- TInt len = aTarget.MaxLength();
- if( len < aSource.Length() )
- {
- aTarget.Copy( aSource.Left( len ) );
- return;
- }
- aTarget.Copy( aSource );
-
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::StrCopy Done" ) );
- }
-
-CEapTypeElement::~CEapTypeElement()
- {
- delete iEAPSettings;
- delete iCertificate;
- }
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::UpdateLingerL
-//
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::UpdateLingerL(const TUint32 aIapId)
-{
- if ( iLinger && ( !iLingerFlag ) )
- {
- AddLingerL( aIapId , iLingerValue );
- }
-
-}
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::UdateligerValueL
-//
-// -----------------------------------------------------------------------------
-//
-void CWPAPNapdef::UdateligerValueL(CWPParameter* aLinger)
-{
- TInt err(KErrNone);
- const TDesC& value = aLinger->Value();
- if( !Notalpha(value))
- {
- TLex lex( value );
- TUint Linger = 0;
- TInt lingerint;
- err = lex.Val( Linger, EDecimal );
- if( err == KErrNone )
- {
- lingerint = Linger;
- if( lingerint >= 0 )
- {
- iLingerValue = lingerint;
- iLingerFlag = EFalse;
- }
- }
- }
-}
-
-// -----------------------------------------------------------------------------
-// CWPAPNapdef::UdateligerValueL
-//
-// -----------------------------------------------------------------------------
-//
-TBool CWPAPNapdef::Notalpha(const TDesC& aValue)
-{
- TBool NotAlpha = EFalse;
- TChar character;
- for(TInt i = 0 ; i < aValue.Length(); i++)
- {
- character = aValue[i];
- NotAlpha = character.IsAlpha();
- if(NotAlpha)
- break;
- }
-
- return NotAlpha;
-}
-
-
-// ---------------------------------------------------------------------------
-// Adds iapID and linger interval to CentralRepository
-// ---------------------------------------------------------------------------
-//
-void CWPAPNapdef::AddLingerL( const TInt aIapId, const TInt aLingerInterval )
- {
- TInt err( KErrNone );
-
- // Open repository
- CRepository* repository = CRepository::NewLC( KCRUidPDPContextManager );
-
- // Find if an entry for "iapId" already exists in CentRep
- RArray< TUint32 > foundKeys;
- foundKeys.Reset();
-
- err = repository->FindEqL( KIapColumn, // partial key
- KColumnMask, // key mask
- aIapId, // value
- foundKeys ); // found keys
-
- if ( err == KErrNone || err == KErrNotFound )
- {
- if ( foundKeys.Count() == 0 )
- {
- // Add a new entry
- TInt arrayCount( 0 );
-
- // Get number of iapId&linger entries in Centrep
- err = repository->Get( KPdpContextManagerLingerArrayCount,
- arrayCount );
-
- if ( err == KErrNone )
- {
- arrayCount++;
-
- err = repository->Create( ( KIapColumn | arrayCount ), aIapId );
-
- if ( err == KErrNone )
- {
- err = repository->Create( ( KLingerColumn | arrayCount ),
- aLingerInterval );
- }
-
- if ( err == KErrNone )
- {
- // Update number of iapId&linger entries in Centrep
- err = repository->Set( KPdpContextManagerLingerArrayCount,
- arrayCount );
- }
- }
- }
- else
- {
- // Update existing entry on current row
- TInt32 row = foundKeys[ 0 ] & KRowMask;
-
- err = repository->Set( ( KLingerColumn | row ), aLingerInterval );
- }
- }
-
- foundKeys.Close();
- CleanupStack::PopAndDestroy( repository );
-
- User::LeaveIfError( err );
-
- }
-
-void CWPAPNapdef::ConvertEAPStringToIds( const TDesC& aEAPString, TDes8& aExpandedId, TEapExpandedType& aID)
- {
- if ( aEAPString == KEAPSIM )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapSim" ) );
- aExpandedId.Copy( KEapSimTypeId, KExpandedEapIdLength );
- aID = *EapExpandedTypeSim.GetType();
- }
- else if( aEAPString == KEAPAKA )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapAka" ) );
- aExpandedId.Copy( KEapAkaTypeId, KExpandedEapIdLength );
- aID = *EapExpandedTypeAka.GetType();
- }
- else if( aEAPString == KEAPTLS )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapTls" ) );
- aExpandedId.Copy( KEapTlsTypeId, KExpandedEapIdLength );
- aID = *EapExpandedTypeTls.GetType();
- }
- else if( aEAPString == KEAPPEAP )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapPeap" ) );
- aExpandedId.Copy( KEapPeapTypeId, KExpandedEapIdLength );
- aID = *EapExpandedTypePeap.GetType();
- }
- else if( aEAPString == KEAPTTLS )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapTtls" ) );
- aExpandedId.Copy( KEapTtlsTypeId, KExpandedEapIdLength );
- aID = *EapExpandedTypeTtls.GetType();
- }
- else if( aEAPString == KEAPLEAP )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapLeap" ) );
- aExpandedId.Copy( KEapLeapTypeId, KExpandedEapIdLength );
- aID = *EapExpandedTypeLeap.GetType();
- }
- else if( aEAPString == KEAPMSCHAPV2 )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapMschapv2" ) );
- aExpandedId.Copy( KEapMschapv2TypeId, KExpandedEapIdLength );
- aID = *EapExpandedTypeMsChapv2.GetType();
- }
- else if( aEAPString == KEAPGTC )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapGtc" ) );
- aExpandedId.Copy( KEapGtcTypeId, KExpandedEapIdLength );
- aID = *EapExpandedTypeGtc.GetType();
- }
- else if( aEAPString == KEAPFAST )
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapFast" ) );
- aExpandedId.Copy( KEapFastTypeId, KExpandedEapIdLength );
- aID = *EapExpandedTypeFast.GetType();
- }
-
- else
- {
- FLOG( _L( "[AccesspointAdapter] CWPAPNapdef::ConvertEAPStringToIds EEapNone" ) );
- aExpandedId.Copy( KEapNoneId, KExpandedEapIdLength );
- aID = *EapExpandedTypeNone.GetType();
- }
-
- }
-
-// ---------------------------------------------------------------------------
-// Returns the NAP-ID
-// ---------------------------------------------------------------------------
-//
-const TDesC& CWPAPNapdef::NapId()
- {
- return iNapID->Value();
- }
-
-// ---------------------------------------------------------------------------
-// Returns the bearer value
-// ---------------------------------------------------------------------------
-//
-TUint CWPAPNapdef::Bearer()
- {
- return iBearer;
- }
-
-// ---------------------------------------------------------------------------
-// Returns the bearer value
-// ---------------------------------------------------------------------------
-//
-void CWPAPNapdef::SetCMManager( RCmManagerExt* aCm )
- {
- iCm = aCm;
- }
-
-
-
-// End of File