diff -r bb2423252ea3 -r c1029e558ef5 networksecurity/tls/protocol/tlsconnection.cpp --- a/networksecurity/tls/protocol/tlsconnection.cpp Wed Sep 15 13:53:10 2010 +0300 +++ b/networksecurity/tls/protocol/tlsconnection.cpp Wed Oct 13 16:17:27 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -26,8 +26,6 @@ #include "applicationdata.h" #include #include -#include -#include #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS #include @@ -55,7 +53,7 @@ CleanupStack::PushL(self); self->ConstructL(aSocket, aProtocol); - CleanupStack::Pop(self); + CleanupStack::Pop(); return self; } @@ -80,7 +78,7 @@ CleanupStack::PushL(self); self->ConstructL(aSocket, aProtocol); - CleanupStack::Pop(self); + CleanupStack::Pop(); return self; } @@ -156,17 +154,7 @@ User::LeaveIfError( SetProtocol(aProtocol) ); iTlsProvider->Attributes()->iCurrentCipherSuite.iLoByte = 0x00; iTlsProvider->Attributes()->iCurrentCipherSuite.iHiByte = 0x00; - TBool allowUntrustedCertificates = EFalse; - allowUntrustedCertificates = CFeatureDiscovery::IsFeatureSupportedL(NFeature::KFeatureIdFfHttpAllowUntrustedCertificates); - - if( allowUntrustedCertificates ) - { - iTlsProvider->Attributes()->iDialogMode = ETTLSDialogModeAllowAutomatic; - } - else - { - iTlsProvider->Attributes()->iDialogNonAttendedMode = EFalse; - } + iTlsProvider->Attributes()->iDialogNonAttendedMode = EFalse; iDialogMode = EDialogModeAttended; iGenericSocket = new(ELeave)CGenericSecureSocket(aSocket); @@ -218,17 +206,7 @@ User::LeaveIfError( SetProtocol(aProtocol) ); iTlsProvider->Attributes()->iCurrentCipherSuite.iLoByte = 0x00; iTlsProvider->Attributes()->iCurrentCipherSuite.iHiByte = 0x00; - TBool allowUntrustedCertificates = EFalse; - allowUntrustedCertificates = CFeatureDiscovery::IsFeatureSupportedL(NFeature::KFeatureIdFfHttpAllowUntrustedCertificates); - - if( allowUntrustedCertificates ) - { - iTlsProvider->Attributes()->iDialogMode = ETTLSDialogModeAttended; - } - else - { - iTlsProvider->Attributes()->iDialogNonAttendedMode = EFalse; - } + iTlsProvider->Attributes()->iDialogNonAttendedMode = EFalse; iDialogMode = EDialogModeAttended; iRecordParser = new(ELeave)CRecordParser( aSocket, *iTlsProvider ); @@ -932,56 +910,23 @@ // TDialogMode enum or has the value EDialogModeUnattended/EDialogModeAttended. // Otherwise, it must return KErrArgument TInt ret = KErrNone; - TBool allowUntrustedCertificates = EFalse; - TRAP(ret, allowUntrustedCertificates = CFeatureDiscovery::IsFeatureSupportedL(NFeature::KFeatureIdFfHttpAllowUntrustedCertificates)); - - if(KErrNone == ret) - { - TTLSDialogMode tlsDialogMode( ETTLSDialogModeAttended ); - switch(aDialogMode) - { - case EDialogModeUnattended: - { - if( allowUntrustedCertificates ) - { - tlsDialogMode = ETTLSDialogModeUnattended; - iDialogMode = aDialogMode; - break; - } - } - case EDialogModeAttended: - { - if( allowUntrustedCertificates ) - { - tlsDialogMode = ETTLSDialogModeAttended; - } - iDialogMode = aDialogMode; - break; - } - case EDialogModeAllowAutomatic: - { - tlsDialogMode = ETTLSDialogModeAllowAutomatic; - iDialogMode = aDialogMode; - break; - } - - default: //-- wrong mode - LOG(Log::Printf(_L("SetDialogMode() - Unknown dialog mode, default setting (Attended mode) being used"));) - return KErrArgument; - }; + + switch(aDialogMode) + { + case EDialogModeUnattended: + case EDialogModeAttended: + iDialogMode = aDialogMode; + break; + + default: //-- wrong mode + LOG(Log::Printf(_L("SetDialogMode() - Unknown dialog mode, default setting (Attended mode) being used"));) + return KErrArgument; + }; - if ( iTlsProvider ) - { - if( allowUntrustedCertificates ) - { - iTlsProvider->Attributes()->iDialogMode = tlsDialogMode; - } - else - { - iTlsProvider->Attributes()->iDialogNonAttendedMode = (iDialogMode == EDialogModeUnattended); - } - } - } + if ( iTlsProvider ) + { + iTlsProvider->Attributes()->iDialogNonAttendedMode = (iDialogMode == EDialogModeUnattended); + } return ret; } @@ -1244,19 +1189,12 @@ return EFalse; } else - { - //We came here since tls handshake failed for some reasons. - //Attempting to delete the application data state machines here, - //leads to sending incorrect status to the caller application. - //Allow the cleanup of handshake statemachine to continue here. - //Let the application data state machines be cleaned up by the - //tlsconnection desctructor function. - - //delete iSendAppData; - //iSendAppData = NULL; - //delete iRecvAppData; - //iRecvAppData = NULL; - //ResetCryptoAttributes(); + {//delete data path in case it's re-negotiation what's failed + delete iSendAppData; + iSendAppData = NULL; + delete iRecvAppData; + iRecvAppData = NULL; + ResetCryptoAttributes(); } } else @@ -1370,7 +1308,7 @@ else { iRecordComposer->SetUserData( (TDesC8*)&aDesc ); - iRecordComposer->ResetCurrentPos(); + iRecordComposer->ResetCurrentPos(); iSendAppData->Start( &aStatus, this ); }