diff -r 5ee1d9ce5878 -r 337070b4fa18 applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.cpp --- a/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.cpp Fri Feb 19 23:50:57 2010 +0200 +++ b/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.cpp Fri Mar 12 15:45:46 2010 +0200 @@ -18,6 +18,7 @@ #include #include #include +#include #include "msocketfactory.h" #include "msocketconnector.h" @@ -585,7 +586,14 @@ ); } #endif - if ( ( aError == KErrEof || aError == KErrCancel ) ) + if ((aError == KErrSSLAlertUnexpectedMessage || aError == KErrSSLAlertHandshakeFailure) && !iSecureRetry) + { + //TSW error id - TKOO-7YUCA3 + //some websites dont support tls1.0 & retry secure negotiation with ssl3.0 & error value modified to KErrEof for retrying + iSecureRetry = ETrue; + aError = KErrEof; + } + if ( aError == KErrEof || aError == KErrCancel ) { if ( IsPendingWriteInConnectedState() && !iCurrentRequest->NeedDisconnectNotification() ) { @@ -1210,6 +1218,9 @@ void CHttpConnectionManager::SecureClientCnf() { __ASSERT_DEBUG( iState == EUpgrading, User::Invariant() ); + + iSecureRetry = EFalse; //reset the flag + #if defined (_DEBUG) && defined (_LOGGING) __FLOG_0(_T8("!! Secure connection establised"));