detect ssl layer error doing start tls in imap code, add error to log, sr=mscott 311939

This commit is contained in:
bienvenu%nventure.com 2006-05-01 18:24:13 +00:00
Родитель 86007cf77f
Коммит d0c30b715b
1 изменённых файлов: 22 добавлений и 6 удалений

Просмотреть файл

@ -1345,13 +1345,29 @@ PRBool nsImapProtocol::ProcessCurrentURL()
nsCOMPtr<nsISSLSocketControl> sslControl = do_QueryInterface(secInfo, &rv); nsCOMPtr<nsISSLSocketControl> sslControl = do_QueryInterface(secInfo, &rv);
if (NS_SUCCEEDED(rv) && sslControl) if (NS_SUCCEEDED(rv) && sslControl)
{
rv = sslControl->StartTLS(); rv = sslControl->StartTLS();
} if (NS_SUCCEEDED(rv))
Capability(); Capability();
} }
}
if (NS_FAILED(rv))
{
nsCAutoString logLine("STARTTLS negotiation failed. Error 0x");
logLine.AppendInt(rv, 16);
Log("ProcessCurrentURL", nsnull, logLine.get());
if (m_socketType == nsIMsgIncomingServer::alwaysUseTLS)
{
SetConnectionStatus(-1); // stop netlib
m_transport->Close(rv);
}
}
}
else if (m_socketType == nsIMsgIncomingServer::alwaysUseTLS) else if (m_socketType == nsIMsgIncomingServer::alwaysUseTLS)
return PR_FALSE; {
SetConnectionStatus(-1); // stop netlib
m_transport->Close(rv);
}
} }
logonFailed = !TryToLogon(); logonFailed = !TryToLogon();