# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1277123361 -10800 # Node ID 8c9c07ad8b6bda2e4d5377a92d98e0af642fc7c7 # Parent df4dfb214df53e195977a7876badb6be8cf7f780 Revision: 201023 Kit: 2010125 diff -r df4dfb214df5 -r 8c9c07ad8b6b commsconfig/cscapplicationui/src/cscservicecontainer.cpp --- a/commsconfig/cscapplicationui/src/cscservicecontainer.cpp Wed Jun 09 09:31:04 2010 +0300 +++ b/commsconfig/cscapplicationui/src/cscservicecontainer.cpp Mon Jun 21 15:29:21 2010 +0300 @@ -447,22 +447,23 @@ if ( iListBoxItemArray.Count() ) { TListBoxItem item = ListBoxItem(); - TBool disabled = iCCHHandler.IsServiceDisabled( item.iServiceId ); - - // if enabled -> show unable to delete note - if ( !disabled ) - { - CCSCNoteUtilities::ShowInformationNoteL( - CCSCNoteUtilities::ECSCUnableToDeleteNote, - iServiceHandler.ServiceNameL( item.iServiceId ) ); - return; - } // Show confirmation query for service deletion if ( CCSCNoteUtilities::ShowCommonQueryL( CCSCNoteUtilities::ECSCDeleteServiceQuery, iServiceHandler.ServiceNameL( item.iServiceId ) ) ) { + TBool disabled = iCCHHandler.IsServiceDisabled( item.iServiceId ); + + // if enabled -> show unable to delete note + if ( !disabled ) + { + CCSCNoteUtilities::ShowInformationNoteL( + CCSCNoteUtilities::ECSCUnableToDeleteNote, + iServiceHandler.ServiceNameL( item.iServiceId ) ); + return; + } + // First check if there is a service plugin UID. TInt count = iServicePluginHandler.PluginCount( CCSCEngServicePluginHandler::EInitialized ); diff -r df4dfb214df5 -r 8c9c07ad8b6b convergedconnectionhandler/cchserver/src/cchconnmonhandler.cpp --- a/convergedconnectionhandler/cchserver/src/cchconnmonhandler.cpp Wed Jun 09 09:31:04 2010 +0300 +++ b/convergedconnectionhandler/cchserver/src/cchconnmonhandler.cpp Mon Jun 21 15:29:21 2010 +0300 @@ -105,12 +105,15 @@ CCCHConnMonHandler::~CCCHConnMonHandler() { CCHLOGSTRING( "CCCHConnMonHandler::~CCCHConnMonHandler" ); - iConnChangeListenerTimer->Cancel(); + if ( iConnChangeListenerTimer ) + { + iConnChangeListenerTimer->Cancel(); + } delete iConnChangeListenerTimer; StopNotify(); Cancel(); iPendingRequests.Close(); - iUnsolvedConnIds.Close(); + iUnsolvedConnIds.Close(); iConnIapIds.Close(); iAvailableSNAPs.Close(); iAvailableIAPs.Close(); @@ -177,6 +180,7 @@ MCCHConnMonHandlerNotifier* aObserver ) { CCHLOGSTRING( "CCCHConnMonHandler::SetSNAPsAvailabilityChangeListener" ); + iConnChangeListenerTimer->Cancel(); iSNAPsAvailabilityObserver = aObserver; if ( iSNAPsAvailabilityObserver ) { @@ -564,6 +568,7 @@ } if ( iSNAPsAvailabilityObserver ) { + iConnChangeListenerTimer->Cancel(); iSNAPsAvailabilityObserver->SNAPsAvailabilityChanged( KErrCancel ); iSNAPsAvailabilityObserver = NULL; } diff -r df4dfb214df5 -r 8c9c07ad8b6b sipvoipprovider/src/svpmosession.cpp --- a/sipvoipprovider/src/svpmosession.cpp Wed Jun 09 09:31:04 2010 +0300 +++ b/sipvoipprovider/src/svpmosession.cpp Mon Jun 21 15:29:21 2010 +0300 @@ -117,14 +117,27 @@ // Add P-Preferred-Identity header if CLIR is on if ( iSVPUtility.IsCLIROnL() ) { - const TDesC8* userAor = NULL; - TInt err = profile->GetParameter( KSIPUserAor, userAor ); + HBufC8* userAor = NULL; + const MDesC8Array* aors( NULL ); // Array of registered address of records + + TInt result = profile->GetParameter( KSIPRegisteredAors, aors ); - if ( !err ) + if ( !aors || aors->MdcaCount() == KErrNone ) { - iSVPUtility.AddPPreferredIdentityToUserHeadersL( - *aUserHeaders, *userAor ); + SVPDEBUG1( "CSVPMoSession::CompleteUriL - registered aors array empty" ) + const TDesC8* userAorStr = NULL; + User::LeaveIfError( profile->GetParameter( KSIPUserAor, userAorStr ) ); + SVPDEBUG2( "CSVPMoSession::CompleteUriL - KSIPUserAor result: %d", result ) + userAor = userAorStr->AllocLC(); } + else + { + userAor = aors->MdcaPoint( 0 ).AllocLC(); + } + + iSVPUtility.AddPPreferredIdentityToUserHeadersL( + *aUserHeaders, *userAor ); + CleanupStack::PopAndDestroy(); //userAor } // create Mce out session diff -r df4dfb214df5 -r 8c9c07ad8b6b voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmliaphandler.cpp --- a/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmliaphandler.cpp Wed Jun 09 09:31:04 2010 +0300 +++ b/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmliaphandler.cpp Mon Jun 21 15:29:21 2010 +0300 @@ -604,8 +604,7 @@ TUint32 iapId = newConnMethod.GetIntAttributeL( CMManager::ECmIapId ); TUint32 iapServiceId = newConnMethod.GetIntAttributeL( CMManager::ECmIapServiceId ); - CleanupStack::PopAndDestroy( &newConnMethod ); // CS:0 - + if ( aTempIap.iSecurityType == CMManager::EWlanSecModeWep ) { DBG_PRINT( " secMode WEP" ); @@ -613,7 +612,7 @@ // CS:1 CWEPSecuritySettings* wepSecSettings = CWEPSecuritySettings::NewL(); - CleanupStack::PushL( wepSecSettings ); // CS:2 + CleanupStack::PushL( wepSecSettings ); // CS:3 const TInt wepKeyCount = aTempIap.iWepKeys.Count(); for ( TInt counter = 0; counter < wepKeyCount; counter++ ) { @@ -623,23 +622,29 @@ } wepSecSettings->SaveL( wlanId, *db ); // wepSecSettings, db - CleanupStack::PopAndDestroy( 2, db ); // CS:0 + CleanupStack::PopAndDestroy( 2, db ); // CS:1 } else if ( CMManager::EWlanSecModeWpa == aTempIap.iSecurityType || CMManager::EWlanSecModeWpa2 == aTempIap.iSecurityType ) { DBG_PRINT( " secMode WPA/WPA2" ); CMDBSession* db = CMDBSession::NewLC( - CMDBSession::LatestVersion() ); // CS:1 + CMDBSession::LatestVersion() ); // CS:2 CWPASecuritySettings* wpaSecSettings = CWPASecuritySettings::NewL( ESecurityModeWpa ); - CleanupStack::PushL( wpaSecSettings ); // CS:2 + CleanupStack::PushL( wpaSecSettings ); // CS:3 if ( EAPSettings::EEapNone == aTempIap.iEapType ) { DBG_PRINT( " EapType none" ); - User::LeaveIfError( wpaSecSettings->SetWPAPreSharedKey( - aTempIap.iPreSharedKey->Des() )); + //If error happens then delete newConnMethod and leave + TInt error = wpaSecSettings->SetWPAPreSharedKey( + aTempIap.iPreSharedKey->Des() ); + if ( error ) + { + newConnMethod.DeleteL(); + User::Leave( error ); + } wpaSecSettings->SaveL( wlanId, *db, ESavingBrandNewAP, 0 ); } else if ( EAPSettings::EEapLeap == aTempIap.iEapType ) @@ -648,24 +653,29 @@ TBuf8 eapId; eapId.Copy( KEapLeapId, KEapChars ); - User::LeaveIfError( - wpaSecSettings->SetWPAEnabledEAPPlugin( eapId ) ); + + TInt error = wpaSecSettings->SetWPAEnabledEAPPlugin( eapId ); + if ( error ) + { + newConnMethod.DeleteL(); + User::Leave( error ); + } wpaSecSettings->SaveL( wlanId, *db, ESavingBrandNewAP, 0 ); CEapType* eapType = CEapType::NewL( eapId, ELan, wlanId ); - CleanupStack::PushL( eapType ); // CS:3 + CleanupStack::PushL( eapType ); // CS:4 EAPSettings* eapSettings = new (ELeave) EAPSettings(); - CleanupStack::PushL( eapSettings ); // CS:4 + CleanupStack::PushL( eapSettings ); // CS:5 eapSettings->iEAPType = EAPSettings::EEapLeap; eapSettings->iUsername.Copy( aTempIap.iEapUsername->Des() ); eapSettings->iUsernamePresent = ETrue; eapSettings->iPassword.Copy( aTempIap.iEapPassword->Des() ); eapSettings->iPasswordPresent = ETrue; eapType->SetConfigurationL( *eapSettings ); - CleanupStack::PopAndDestroy( 2, eapType ); // CS:2 + CleanupStack::PopAndDestroy( 2, eapType ); // CS:3 } // wpaSecSettings, db - CleanupStack::PopAndDestroy( 2, db ); // CS:0 + CleanupStack::PopAndDestroy( 2, db ); // CS:1 } else if ( CMManager::EWlanSecMode802_1x == aTempIap.iSecurityType ) { @@ -675,12 +685,19 @@ CWPASecuritySettings* wpaSecSettings = CWPASecuritySettings::NewL( ESecurityMode8021x ); CleanupStack::PushL( wpaSecSettings ); // CS:2 - User::LeaveIfError( wpaSecSettings->SetWPAPreSharedKey( - aTempIap.iPreSharedKey->Des() )); + TInt error = wpaSecSettings->SetWPAPreSharedKey( + aTempIap.iPreSharedKey->Des() ); + if ( error ) + { + newConnMethod.DeleteL(); + User::Leave( error ); + } wpaSecSettings->SaveL( wlanId, *db, ESavingBrandNewAP, 0 ); // wpaSecSettings, db - CleanupStack::PopAndDestroy( 2, db ); // CS:0 + CleanupStack::PopAndDestroy( 2, db ); // CS:1 } + CleanupStack::PopAndDestroy( &newConnMethod ); // CS:0 + DBG_PRINT( "CVoipXmlIapHandler::CreateIapL - end" ); return iapId; } diff -r df4dfb214df5 -r 8c9c07ad8b6b voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmlpresencehandler.cpp --- a/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmlpresencehandler.cpp Wed Jun 09 09:31:04 2010 +0300 +++ b/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmlpresencehandler.cpp Mon Jun 21 15:29:21 2010 +0300 @@ -214,14 +214,16 @@ void CVoipXmlPresenceHandler::CreateProviderNameL( TDes& aName ) { DBG_PRINT( "CVoipXmlPresenceHandler::CreateProviderNameL begin" ); - + + const TInt maxModifyLength = + KMaxNodeNameLength - KMaxProfileNameAppendLength; RArray settingIds; CleanupClosePushL( settingIds ); // CS:1 // CS:2 CDesCArray* names = PresSettingsApi::GetAllSetsNamesLC( settingIds ); HBufC* newName = HBufC::NewLC( KMaxNodeNameLength ); // CS:3 - newName->Des().Copy( aName ); + newName->Des().Copy( aName.Left( maxModifyLength ) ); const TInt count( names->MdcaCount() ); TUint i( 1 ); // Add number to the name if name already in use. @@ -236,7 +238,7 @@ { // If the name is changed we need to begin the comparison // again from the first profile. - newName->Des().Copy( aName ); + newName->Des().Copy( aName.Left( maxModifyLength ) ); newName->Des().Append( KOpenParenthesis() ); newName->Des().AppendNum( i ); newName->Des().Append( KClosedParenthesis() ); diff -r df4dfb214df5 -r 8c9c07ad8b6b voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmlsiphandler.cpp --- a/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmlsiphandler.cpp Wed Jun 09 09:31:04 2010 +0300 +++ b/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmlsiphandler.cpp Mon Jun 21 15:29:21 2010 +0300 @@ -499,17 +499,20 @@ void CVoipXmlSipHandler::CreateProviderNameL( const TDesC8& aName ) { DBG_PRINT( "CVoipXmlSipHandler::CreateProviderNameL begin" ); - + + const TInt maxModifyLength = + KMaxNodeNameLength - KMaxProfileNameAppendLength; + RPointerArray profiles; CleanupResetAndDestroyL( profiles ); // CS:1 - + // Get all profiles based on profile types. iRegistry->ProfilesL( profiles ); const TInt profileCount = profiles.Count(); - + // Go through loaded profiles and check for name duplicates. HBufC8* name = HBufC8::NewLC( KMaxNodeNameLength ); // CS:2 - name->Des().Copy( aName ); + name->Des().Copy( aName.Left( maxModifyLength ) ); TUint i( 1 ); // Add number to the name if name already in use. const TInt count( profiles.Count() ); for ( TInt counter = 0; counter < count; counter++ ) @@ -520,7 +523,7 @@ profile->GetParameter( KSIPProviderName, existingName ); if ( 0 == existingName->Compare( *name ) ) { - name->Des().Copy( aName ); + name->Des().Copy( aName.Left( maxModifyLength ) ); name->Des().Append( KOpenParenthesis8() ); name->Des().AppendNum( i ); name->Des().Append( KClosedParenthesis8() ); diff -r df4dfb214df5 -r 8c9c07ad8b6b voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmlvoiphandler.cpp --- a/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmlvoiphandler.cpp Wed Jun 09 09:31:04 2010 +0300 +++ b/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmlvoiphandler.cpp Mon Jun 21 15:29:21 2010 +0300 @@ -294,7 +294,7 @@ { case EName: { - TBuf name( KNullDesC ); + TBuf name( KNullDesC ); name.Copy( aValue ); TRAP_IGNORE( ValidateProfileNameL( name ) ); iEntry->iProviderName.Copy( name ); @@ -809,7 +809,6 @@ newName->Des().Copy( aName.Left( maxModifyLength ) ); TUint i( 1 ); // Add number to the name if name already in use. - TBool changed( EFalse ); // Go through each profile and see if the name of the new profile // matches one of the existing names. If it does change it and @@ -834,16 +833,11 @@ { User::Leave( KErrBadName ); } - changed = ETrue; } CleanupStack::PopAndDestroy( profile ); // CS:2 } - - // Change setting only if it was changed. - if ( changed ) - { - aName.Copy( newName->Des() ); - } + + aName.Copy( *newName ); // newName, &voipIds CleanupStack::PopAndDestroy( 2, &voipIds ); // CS:0 diff -r df4dfb214df5 -r 8c9c07ad8b6b voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmlxdmhandler.cpp --- a/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmlxdmhandler.cpp Wed Jun 09 09:31:04 2010 +0300 +++ b/voipplugins/voipadapters/voipxmlprovisioning/voipxmlprocessor/src/voipxmlxdmhandler.cpp Mon Jun 21 15:29:21 2010 +0300 @@ -174,14 +174,16 @@ void CVoipXmlXdmHandler::CreateProviderNameL( TDes& aName ) { DBG_PRINT( "CVoipXmlXdmHandler::CreateProviderNameL begin" ); - + + const TInt maxModifyLength = + KMaxNodeNameLength - KMaxProfileNameAppendLength; RArray settingIds; CleanupClosePushL( settingIds ); // CS:1 // CS:2 CDesCArray* names = TXdmSettingsApi::CollectionNamesLC( settingIds ); HBufC* newName = HBufC::NewLC( KMaxNodeNameLength ); // CS:3 - newName->Des().Copy( aName ); + newName->Des().Copy( aName.Left( maxModifyLength ) ); const TInt count( names->MdcaCount() ); TUint i( 1 ); // Add number to the name if name already in use. @@ -196,7 +198,7 @@ { // If the name is changed we need to begin the comparison // again from the first profile. - newName->Des().Copy( aName ); + newName->Des().Copy( aName.Left( maxModifyLength ) ); newName->Des().Append( KOpenParenthesis() ); newName->Des().AppendNum( i ); newName->Des().Append( KClosedParenthesis() );