const struct curl_tlssessioninfo *TLSInfo;
CURLcode TLSCode;
- CURL *Connection = GetConnectionObject();
- TLSCode = curl_easy_getinfo(Connection, CURLINFO_TLS_SSL_PTR, &TLSInfo);
+ TLSCode = curl_easy_getinfo(data->ConnectionSessionObject, CURLINFO_TLS_SSL_PTR, &TLSInfo);
+ SecTrustRef CertificateData;
+
if (TLSInfo->internals != nullptr && TLSCode == CURLE_OK) {
- SSLCopyPeerTrust((SSLContext*)TLSInfo->internals, &SecTrustObject);
+ SSLCopyPeerTrust((SSLContext*)TLSInfo->internals, &CertificateData);
+ data->SSLContext = CertificateData;
}
#elif defined(__WIN32__)
#if defined(__APPLE__)
+SecTrustRef CardDAV2::BuildSSLCollection(){
+
+ return CertificateData;
+
+}
+
#elif defined(__WIN32__)
PCCERT_CONTEXT CardDAV2::BuildSSLCollection(){
// Set the certificate data (if required).
-#if defined(__WIN32__)
+#if defined(__APPLE__)
+
+ if (ServerSSL) {
+
+ CertificateData = PageHeaderObject.SSLContext;
+
+ }
+
+#elif defined(__WIN32__)
if (ServerSSL) {
string ServerAddressURL = BuildURL(ServerPrefix);
- std::cout << SyncData << std::endl;
-
curl_easy_setopt(ConnectionSession, CURLOPT_URL, ServerAddressURL.c_str());
curl_easy_setopt(ConnectionSession, CURLOPT_POSTFIELDS, SyncData.c_str());
curl_easy_setopt(ConnectionSession, CURLOPT_POSTFIELDSIZE, strlen(SyncData.c_str()));
PageHeaderObject.ConnectionSessionObject = ConnectionSession;
PageHeaderObject.DataSetting = &PageHeader;
PageHeaderObject.ServerUsingSSL = false;
-
+
curl_easy_setopt(ConnectionSession, CURLOPT_URL, ServerAddress.c_str());
- curl_easy_setopt(ConnectionSession, CURLOPT_NOPROGRESS, 1L);
+ curl_easy_setopt(ConnectionSession, CURLOPT_NOPROGRESS, 0L);
curl_easy_setopt(ConnectionSession, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST|CURLAUTH_BASIC);
curl_easy_setopt(ConnectionSession, CURLOPT_TIMEOUT, 60);
curl_easy_setopt(ConnectionSession, CURLOPT_FAILONERROR, true);
curl_easy_setopt(ConnectionSession, CURLOPT_WRITEFUNCTION, CardDAV2::WritebackFunc);
curl_easy_setopt(ConnectionSession, CURLOPT_WRITEDATA, &PageDataObject);
curl_easy_setopt(ConnectionSession, CURLOPT_WRITEHEADER, &PageHeaderObject);
- curl_easy_setopt(ConnectionSession, CURLOPT_NOSIGNAL, 1);
+ curl_easy_setopt(ConnectionSession, CURLOPT_NOSIGNAL, 1L);
curl_easy_setopt(ConnectionSession, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(ConnectionSession, CURLOPT_HTTPHEADER, nullptr);
curl_easy_setopt(ConnectionSession, CURLOPT_POSTFIELDS, nullptr);
PageHeaderObject.ConnectionSessionObject = ConnectionSession;
PageHeaderObject.DataSetting = &PageHeader;
PageHeaderObject.ServerUsingSSL = true;
-
+
curl_easy_setopt(ConnectionSession, CURLOPT_URL, ServerAddressURL.c_str());
curl_easy_setopt(ConnectionSession, CURLOPT_NOPROGRESS, 1L);
curl_easy_setopt(ConnectionSession, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST|CURLAUTH_BASIC);
curl_easy_setopt(ConnectionSession, CURLOPT_TIMEOUT, 60);
- curl_easy_setopt(ConnectionSession, CURLOPT_FAILONERROR, true);
+ curl_easy_setopt(ConnectionSession, CURLOPT_FAILONERROR, 0L);
curl_easy_setopt(ConnectionSession, CURLOPT_USERAGENT, XSDAB_USERAGENT);
curl_easy_setopt(ConnectionSession, CURLOPT_WRITEFUNCTION, CardDAV2::WritebackFunc);
curl_easy_setopt(ConnectionSession, CURLOPT_WRITEDATA, &PageDataObject);
curl_easy_setopt(ConnectionSession, CURLOPT_WRITEHEADER, &PageHeaderObject);
curl_easy_setopt(ConnectionSession, CURLOPT_ERRORBUFFER, SessionErrorBuffer);
- curl_easy_setopt(ConnectionSession, CURLOPT_NOSIGNAL, 1);
- curl_easy_setopt(ConnectionSession, CURLOPT_CERTINFO, 1);
- curl_easy_setopt(ConnectionSession, CURLOPT_VERBOSE, 1);
+ curl_easy_setopt(ConnectionSession, CURLOPT_NOSIGNAL, 1L);
+ curl_easy_setopt(ConnectionSession, CURLOPT_CERTINFO, 1L);
+ curl_easy_setopt(ConnectionSession, CURLOPT_VERBOSE, 2L);
curl_easy_setopt(ConnectionSession, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(ConnectionSession, CURLOPT_HTTPHEADER, nullptr);
curl_easy_setopt(ConnectionSession, CURLOPT_POSTFIELDS, nullptr);
curl_easy_setopt(ConnectionSession, CURLOPT_USERPWD, NULL);
}
-#if !defined(__APPLE__)
-
if (EnableSSLBypass == true){
- curl_easy_setopt(ConnectionSession, CURLOPT_SSL_VERIFYHOST, 0);
- curl_easy_setopt(ConnectionSession, CURLOPT_SSL_VERIFYPEER, 0);
+ curl_easy_setopt(ConnectionSession, CURLOPT_SSL_VERIFYHOST, 0L);
+ curl_easy_setopt(ConnectionSession, CURLOPT_SSL_VERIFYPEER, 0L);
+ curl_easy_setopt(ConnectionSession, CURLOPT_SSL_VERIFYSTATUS, 0L);
} else {
- curl_easy_setopt(ConnectionSession, CURLOPT_SSL_VERIFYHOST, 2);
- curl_easy_setopt(ConnectionSession, CURLOPT_SSL_VERIFYPEER, 1);
+ curl_easy_setopt(ConnectionSession, CURLOPT_SSL_VERIFYHOST, 2L);
+ curl_easy_setopt(ConnectionSession, CURLOPT_SSL_VERIFYPEER, 1L);
+ curl_easy_setopt(ConnectionSession, CURLOPT_SSL_VERIFYSTATUS, 1L);
}
-
-#endif
+
+#if !defined(__APPLE__) || defined(__WIN32__)
if (TestMode == false && ServerAccount.size() > 0){
}
}
+
+#endif
}
return;
-}
\ No newline at end of file
+}