NewAccountResult *ResultData = new NewAccountResult;
lblServerConnResult->SetLabel(_("Testing..."));
- lblCardDAVSupportResult->SetLabel(_(""));
- lblServerResponse->SetLabel(_(""));
- lblServerSSLResult->SetLabel(_(""));
- lblServerSSLValid->SetLabel(_(""));
- lblAbleToLoginResult->SetLabel(_(""));
+ lblCardDAVSupportResult->SetLabel(wxT(""));
+ lblServerResponse->SetLabel(wxT(""));
+ lblServerSSLResult->SetLabel(wxT(""));
+ lblServerSSLValid->SetLabel(wxT(""));
+ lblAbleToLoginResult->SetLabel(wxT(""));
bool UsingSSLBypass = false;
// Setup a CardDAV2 connection object for testing.
wxAtoi(txtServerPort->GetValue()),
txtUsername->GetValue().ToStdString(),
txtPassword->GetValue().ToStdString(),
- chkUseSSL->GetValue());
+ chkUseSSL->GetValue() ? true : false);
// Test the connection.
if (TestConnection.SSLVerify() == COSSL_UNABLETOVERIFY){
#if defined(__APPLE__)
+
+ TestConnection.BypassSSLVerification(true);
+
+ COConnectResult TestConnectionResult = TestConnection.Connect(false);
+
+ TestConnection.BypassSSLVerification(false);
+
+ int SSLResult = DisplayTrustPanel(&TestConnection);
+
+ if (SSLResult != NSOKButton){
+
+ lblServerConnResult->SetLabel(_("Failed"));
+ lblServerResponse->SetLabel(_("Not applicable"));
+ lblServerSSLResult->SetLabel(_("Used"));
+ lblServerSSLValid->SetLabel(_("No"));
+ lblConnectionResultText->SetLabel(_("An error occured whilst connnecting: ") + TestConnection.GetErrorMessage());
+ btnPrevious->Enable(true);
+ return;
+
+ } else {
+
+ // Evalulate the trust object.
+
+ SecTrustResultType EvalResult = ProcessResultType(&TestConnection);
+
+ switch(EvalResult){
+ case kSecTrustResultProceed:
+ lblServerSSLValid->SetLabel(_("Verified"));
+ break;
+ case kSecTrustResultConfirm:
+ lblServerSSLValid->SetLabel(_("Verified (user)"));
+ break;
+ default:
+ lblServerSSLValid->SetLabel(_("Unable to verify"));
+ }
+
+ lblServerResponse->SetLabel(_("Not applicable"));
+ lblServerSSLResult->SetLabel(_("Used"));
+
+ if (EvalResult != kSecTrustResultProceed){
+ return;
+ }
+
+ }
+
#elif defined(__WIN32__)
+ TestConnection.BypassSSLVerification(true);
+
+ COConnectResult TestConnectionResult = TestConnection.Connect(false);
+
+ TestConnection.BypassSSLVerification(false);
+
BOOL ModifiedCertificateData = false;
CRYPTUI_VIEWCERTIFICATE_STRUCTW CertificateDialogData = BuildCertificateData(&TestConnection, (HWND)this->GetHandle());
wxMessageBox(_("An error occured while trying to open the certificate dialog."), _("Error opening Certificate Information dialog"));
}
- if (ModifiedCertificateData = false){
+ if (ModifiedCertificateData == false){
lblServerConnResult->SetLabel(_("Failed"));
lblServerResponse->SetLabel(_("Not applicable"));
lblServerSSLResult->SetLabel(_("Used"));
lblServerSSLValid->SetLabel(_("No"));
lblConnectionResultText->SetLabel(_("An error occured whilst connnecting: ") + TestConnection.GetErrorMessage());
+ btnPrevious->Enable(true);
return;
}
#endif
}
+ TestConnectionResult = TestConnection.Connect(true);
+
// Get the server prefix if the connection was successful.
if (TestConnectionResult == COCONNECT_OK){
ResultsEvent.SetClientData(ResultData);
wxPostEvent(this, ResultsEvent);
-}
\ No newline at end of file
+}