X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcarddav%2Fcarddav-processdata.cpp;h=84f5144644cd4cbe38f4ebe1c7d8010c52701642;hb=4e8ed32926425840c4367d90a9145ded0d65dc2a;hp=99337bc66d44803522c68ff4e22f322874899a5e;hpb=049b4010cd6ff8663503ab22f1c51f72a3c3af8f;p=xestiaab%2F.git diff --git a/source/carddav/carddav-processdata.cpp b/source/carddav/carddav-processdata.cpp index 99337bc..84f5144 100644 --- a/source/carddav/carddav-processdata.cpp +++ b/source/carddav/carddav-processdata.cpp @@ -44,10 +44,12 @@ void CardDAV::ProcessDataThread(){ wxString ServerAddressURL; wxString ServerAuth; wxString ServerAddressSSL; - wxString ServerAddressNormal; - + wxString ServerAddressNormal; + conn = curl_easy_init(); + SetConnectionObject(conn); + struct CardDAVCURLPasser { CardDAV *Data; @@ -68,7 +70,7 @@ void CardDAV::ProcessDataThread(){ wxString ETagOriginal; wxString ETagServer; - ServerAddressURL = ServerAddress + wxT(":") + wxString::Format(wxT("%i"), ServerPort) + wxT("/") + ServerPrefix + ServerFilenameLocation; + ServerAddressURL = ServerAddress + wxT(":") + wxString::Format(wxT("%i"), ServerPort) + ServerPrefix + ServerFilenameLocation; ServerAddressSSL = wxT("https://") + ServerAddressURL; ServerAddressNormal = wxT("http://") + ServerAddressURL; @@ -123,6 +125,10 @@ void CardDAV::ProcessDataThread(){ } +#if defined(__APPLE__) + +#else + ServerCertFilename = GetAccountDir(ServerAccount, TRUE); if (wxFile::Exists(ServerCertFilename) == TRUE){ @@ -132,6 +138,8 @@ void CardDAV::ProcessDataThread(){ curl_easy_setopt(conn, CURLOPT_CAINFO, (const char*)ServerCertFilename.mb_str(wxConvUTF8)); } + +#endif claconncode = (curl_easy_perform(conn)); @@ -185,6 +193,10 @@ void CardDAV::ProcessDataThread(){ // Check if it fails with a CURLE_SSL_CACERT then compare // the certificates as PEM files. +#if defined(__APPLE__) + +#else + if (claconncode == CURLE_SSL_CACERT && wxFile::Exists(ServerCertFilename) == TRUE){ CURL *sslerrconn; @@ -210,9 +222,9 @@ void CardDAV::ProcessDataThread(){ wxString SSLLocalData; wxString SSLServerData; - - sslerrconncode = (curl_easy_perform(sslerrconn)); - + + sslerrconncode = (curl_easy_perform(sslerrconn)); + SSLCertCol = BuildSSLCollection(sslerrconn); std::map::iterator SSLCDIter = SSLCertCol.SSLCollection.find(0); std::multimap::iterator SSLDataIter = SSLCDIter->second.CertData.find(wxT("Cert")); @@ -293,6 +305,8 @@ void CardDAV::ProcessDataThread(){ curl_easy_cleanup(sslerrconn); } + +#endif // Sort out SSL error. @@ -327,17 +341,25 @@ void CardDAV::ProcessDataThread(){ curl_easy_setopt(sslerrconn, CURLOPT_NOSIGNAL, 1); curl_easy_setopt(sslerrconn, CURLOPT_SSL_VERIFYPEER, 0); curl_easy_setopt(sslerrconn, CURLOPT_CERTINFO, 1); - + + SetConnectionObject(sslerrconn); + sslerrconncode = (curl_easy_perform(sslerrconn)); +#if defined(__APPLE__) + +#else + SSLCertCol = BuildSSLCollection(sslerrconn); SSLCertCol.SuccessCode = 1; +#endif + return; } else if (claconncode == CURLE_HTTP_RETURNED_ERROR){ - fprintf(stderr, "curl_easy_perform() failed: %s\n", + fprintf(stderr, "ProcessDataThrad(): curl_easy_perform() failed: %s\n", curl_easy_strerror(claconncode)); int http_code = 0; curl_easy_getinfo(conn, CURLINFO_RESPONSE_CODE, &http_code);