}
-bool CalDAVObjectValidSettings(CalDAVConnectionData *connData){
+COSSLVerified CalDAV::SSLVerify()
+{
+ return SSLVerified;
+}
+
+void CalDAV::BypassSSLVerification(bool EnableBypass){
+ EnableSSLBypass = EnableBypass;
+ SSLSelfSigned = EnableBypass;
+}
+
+#if defined(__APPLE__)
+
+SecTrustRef CalDAV::BuildSSLCollection(){
+
+ return CertificateData;
+
+}
+
+#elif defined(__WIN32__)
+
+PCCERT_CONTEXT CalDAV::BuildSSLCollection(){
+
+ return CertificateData;
+
+}
+
+#else
+
+SSLCertCollectionString CalDAV::BuildSSLCollection(){
+
+ // Build and return the SSL collection.
+
+ SSLCertCollectionString SSLCertInfo;
+
+ // Grab the certificate data.
+
+ union {
+ struct curl_slist *certdata;
+ struct curl_certinfo *certinfo;
+ } certptr;
+
+ certptr.certdata = NULL;
+
+ CURLcode result = curl_easy_getinfo(ConnectionSession, CURLINFO_CERTINFO, &certptr.certinfo);
+
+ std::string CertPropName;
+ std::string CertPropValue;
+
+ for (int i = 0; i < certptr.certinfo->num_of_certs; i++){
+
+ struct curl_slist *slist;
+ SSLCertDataString SSLCertDataInc;
+
+ for (slist = certptr.certinfo->certinfo[i]; slist; slist = slist->next){
+
+ // Using wxStringTokenizer from wxWidgets.
+
+ wxStringTokenizer CertDataInc(wxString::FromUTF8(slist->data), ":");
+
+ // Get first token as the property name.
+
+ CertPropName = CertDataInc.GetNextToken().ToStdString();
+
+ // Get remaining tokens as the property value.
+
+ while(CertDataInc.HasMoreTokens()){
+
+ CertPropValue.append(CertDataInc.GetNextToken());
+
+ }
+
+ SSLCertDataInc.CertData.insert(std::make_pair(CertPropName, CertPropValue));
+ CertPropName.clear();
+ CertPropValue.clear();
+
+ }
+
+ SSLCertInfo.SSLCollection.insert(std::make_pair(i, SSLCertDataInc));
+
+ }
+
+ return SSLCertInfo;
+
+}
+
+#endif
+
+static bool CalDAVObjectValidSettings(CalDAVConnectionData *connData){
// Check if the passed CalDAV Connection Data is has
// an address set. Return false if nullptr is used.
}
-string BuildServerAddress(CalDAVConnectionData *connData, string uriAddress){
+static string BuildServerAddress(CalDAVConnectionData *connData, string uriAddress){
string serverAddress;
return serverAddress;
-}
\ No newline at end of file
+}