--- 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 );
--- 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;
}
--- 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
--- 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<KMaxNodeValueLength> 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;
}
--- 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<TInt> 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() );
--- 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<CSIPProfile> 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() );
--- 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<KMaxSettingsNameLength> name( KNullDesC );
+ TBuf<KMaxNodeValueLength> 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
--- 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<TInt> 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() );