// 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);
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;
if (ServerResult == FALSE){
lblServerConnResult->SetLabel(_("Failed"));
+ lblConnectionResultText->SetLabel(_("An error occured whilst connnecting: ") + CardDAVConn.GetErrorMessage());
return;
-
+
} else {
lblServerConnResult->SetLabel(_("Connected"));
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"));
lblServerSSLValid->SetLabel(_("Unable to verify"));
- }
-
+ }
+
+#endif
+
if (CardDAVConn.CanDoCardDAV() == TRUE){
lblCardDAVSupportResult->SetLabel(_("Supported"));
} else {
lblCardDAVSupportResult->SetLabel(_("Unsupported"));
+ SetErrorMessageLabel();
+ return;
}
} else {
lblAbleToLoginResult->SetLabel(_("No"));
+ SetErrorMessageLabel();
+ return;
}
} else {
lblServerResponse->SetLabel(_("No"));
+ SetErrorMessageLabel();
+ return;
}
} 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();
}
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
*/
#include "AppXestiaAddrBk.h"
+#include "carddav/carddav.h"
#include <wx/fileconf.h>
//// end generated include
void CloseWindow( wxCommandEvent& event );
void UpdateRequirements( wxCommandEvent& event );
void WriteAccountDetails( wxFileConfig *cfgfilein, wxString AccountType, wxString DirectoryName );
+#if defined(__APPLE__)
+ int DisplayTrustPanel(CardDAV *Connection);
+ SecTrustResultType ProcessResultType(CardDAV *Connection);
+#endif
public:
/** Constructor */
frmNewAccount( wxWindow* parent );
int PageSeek = 0;
wxString ServerPrefix;
bool *ReloadAccountConfig = NULL;
+ void SetErrorMessageLabel();
};
#endif // __frmNewAccount__