X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2FfrmNewAccount.cpp;h=9c0beff9656106d536ccd84ef1cf816fc7790f3a;hb=c7055c9ac603986b29e34f8641daa1d4a782ca89;hp=49d278e3acb0b69d008c5d2b8567d536531d7112;hpb=53d77f5310765e248097da0c2f7056efd7c67488;p=xestiaab%2F.git diff --git a/source/frmNewAccount.cpp b/source/frmNewAccount.cpp index 49d278e..9c0beff 100644 --- a/source/frmNewAccount.cpp +++ b/source/frmNewAccount.cpp @@ -198,7 +198,50 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event ) // Setup the data to be sent in the wxPostEvent command. + // TODO: Port to OS X. + int SSLResult; + +#if defined(__APPLE__) + + SSLResult = DisplayTrustPanel(&CardDAVConn); + + if (SSLResult != NSOKButton){ + + lblServerConnResult->SetLabel(_("Failed")); + lblServerResponse->SetLabel(_("Not applicable")); + lblServerSSLResult->SetLabel(_("Used")); + lblServerSSLValid->SetLabel(_("No")); + lblConnectionResultText->SetLabel(_("An error occured whilst connnecting: ") + CardDAVConn.GetErrorMessage() + wxString::Format(wxT(" (%i)\n%s"), sslcode, CardDAVConn.GetErrorBuffer().mb_str())); + return; + + } else { + + // Evalulate the trust object. + + SecTrustResultType EvalResult = ProcessResultType(&CardDAVConn); + + 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; + } + + } + +#else frmInvalidSSLCertificate *frmICPtr = new frmInvalidSSLCertificate(this); @@ -229,12 +272,16 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event ) return; } + +#endif } else { // Something else happened. Stop the process and // display an error message instead. + CURLcode sslcode = CardDAVConn.SSLVerifyTest(); + lblServerConnResult->SetLabel(_("Failed")); lblConnectionResultText->SetLabel(_("An error occured whilst connnecting: ") + CardDAVConn.GetErrorMessage() + wxString::Format(wxT(" (%i)\n%s"), sslcode, CardDAVConn.GetErrorBuffer().mb_str())); return; @@ -250,8 +297,9 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event ) if (ServerResult == FALSE){ lblServerConnResult->SetLabel(_("Failed")); + lblConnectionResultText->SetLabel(_("An error occured whilst connnecting: ") + CardDAVConn.GetErrorMessage()); return; - + } else { lblServerConnResult->SetLabel(_("Connected")); @@ -268,7 +316,26 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event ) lblServerSSLValid->SetLabel(_("Not Applicable")); } - + +#if defined(__APPLE__) + + // Evalulate the trust object. + + SecTrustResultType EvalResult = ProcessResultType(&CardDAVConn); + + switch(EvalResult){ + case kSecTrustResultProceed: + lblServerSSLValid->SetLabel(_("Verified")); + break; + case kSecTrustResultConfirm: + lblServerSSLValid->SetLabel(_("Verified (user)")); + break; + default: + lblServerSSLValid->SetLabel(_("Unable to verify")); + } + +#else + if (CardDAVConn.SSLVerify() == TRUE && CardDAVConn.CanDoSSL() == TRUE){ lblServerSSLValid->SetLabel(_("Verified")); @@ -281,8 +348,10 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event ) lblServerSSLValid->SetLabel(_("Unable to verify")); - } - + } + +#endif + if (CardDAVConn.CanDoCardDAV() == TRUE){ lblCardDAVSupportResult->SetLabel(_("Supported")); @@ -290,6 +359,8 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event ) } else { lblCardDAVSupportResult->SetLabel(_("Unsupported")); + SetErrorMessageLabel(); + return; } @@ -300,6 +371,8 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event ) } else { lblAbleToLoginResult->SetLabel(_("No")); + SetErrorMessageLabel(); + return; } @@ -314,6 +387,8 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event ) } else { lblServerResponse->SetLabel(_("No")); + SetErrorMessageLabel(); + return; } @@ -327,7 +402,7 @@ void frmNewAccount::ProcessNext( wxCommandEvent& event ) } else { - lblConnectionResultText->SetLabel(_("A problem has occured whilst connecting to the CardDAV server.\nPlease review the above information and change the server details if needed.\nIf there are still problems, please speak to your system administrator(s).")); + SetErrorMessageLabel(); } @@ -616,4 +691,10 @@ void frmNewAccount::SetupPointers(bool *ReloadAccountInc){ ReloadAccountConfig = ReloadAccountInc; +} + +void frmNewAccount::SetErrorMessageLabel(){ + + lblConnectionResultText->SetLabel(_("A problem has occured whilst connecting to the CardDAV server.\nPlease review the above information and change the server details if needed.\nIf there are still problems, please speak to your system administrator(s).")); + } \ No newline at end of file