diff -r abbed5a4b42a -r 8d540f55e491 networksecurity/tlsprovider/source/tlsprovider/tlsprovinterface.cpp --- a/networksecurity/tlsprovider/source/tlsprovider/tlsprovinterface.cpp Tue Aug 31 16:45:15 2010 +0300 +++ b/networksecurity/tlsprovider/source/tlsprovider/tlsprovinterface.cpp Wed Sep 01 12:33:58 2010 +0100 @@ -1,4 +1,4 @@ -// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2003-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" @@ -16,6 +16,8 @@ #include "Tlsprovinterface.h" #include "tlsprovider.h" #include +#include +#include // // CTlsProvider @@ -282,6 +284,9 @@ ((TlsSessionPtr()->Attributes())->iMasterSecretInput).iClientRandom = (Attributes()->iMasterSecretInput).iClientRandom; } + TBool allowUntrustedCertificates = EFalse; + allowUntrustedCertificates = CFeatureDiscovery::IsFeatureSupportedL(NFeature::KFeatureIdFfHttpAllowUntrustedCertificates); + // Save old implementation object CTlsProviderImpl *oldTlsProviderImpl = iTlsProviderImpl; iTlsProviderImpl = NULL; @@ -299,7 +304,16 @@ Attributes()->iProposedProtocol = oldAttr->iProposedProtocol; Attributes()->iProposedCiphers = oldAttr->iProposedCiphers; - Attributes()->iDialogNonAttendedMode = oldAttr->iDialogNonAttendedMode; + + if( allowUntrustedCertificates ) + { + Attributes()->iDialogMode = oldAttr->iDialogMode; + } + else + { + Attributes()->iDialogNonAttendedMode = oldAttr->iDialogNonAttendedMode; + } + Attributes()->idomainName = oldAttr->idomainName; // Copy NULL ciphersuite setting @@ -338,7 +352,15 @@ (Attributes()->iMasterSecretInput).iClientRandom = ((TlsSessionPtr()->Attributes())->iMasterSecretInput).iClientRandom; Attributes()->iProposedProtocol = (TlsSessionPtr()->Attributes())->iProposedProtocol; Attributes()->iNegotiatedProtocol = (TlsSessionPtr()->Attributes())->iNegotiatedProtocol; - Attributes()->iDialogNonAttendedMode = (TlsSessionPtr()->Attributes())->iDialogNonAttendedMode; + if( allowUntrustedCertificates ) + { + Attributes()->iDialogMode = (TlsSessionPtr()->Attributes())->iDialogMode; + } + else + { + Attributes()->iDialogNonAttendedMode = (TlsSessionPtr()->Attributes())->iDialogNonAttendedMode; + } + Attributes()->iSessionNameAndID.iServerName = (TlsSessionPtr()->Attributes())->iSessionNameAndID.iServerName; Attributes()->iSessionNameAndID.iSessionId = (TlsSessionPtr()->Attributes())->iSessionNameAndID.iSessionId;