X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcarddav%2Fcarddav-sslverify.cpp;h=57b11c0ffd35f708a619f3bf4824adf1f0186011;hb=66e841c8847db860ad378b330ae5344554f53d35;hp=89998dea7104a3829de841c54dfa3685eb6a7d9f;hpb=911611528b36f56f7de9b6bf027b4c2a1a54df00;p=xestiaab%2F.git diff --git a/source/carddav/carddav-sslverify.cpp b/source/carddav/carddav-sslverify.cpp index 89998de..57b11c0 100644 --- a/source/carddav/carddav-sslverify.cpp +++ b/source/carddav/carddav-sslverify.cpp @@ -1,3 +1,21 @@ +// carddav-sslverify.cpp - CardDAV Object - SSL verification subroutines. +// +// (c) 2012-2015 Xestia Software Development. +// +// This file is part of Xestia Address Book. +// +// Xestia Address Book is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by the +// Free Software Foundation, version 3 of the license. +// +// Xestia Address Book is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with Xestia Address Book. If not, see + #include "carddav.h" #include "../version.h" #include @@ -12,6 +30,8 @@ CURLcode CardDAV::SSLVerifyTest(){ + // Verify the SSL information. + PageData.Clear(); PageHeader.Clear(); @@ -29,19 +49,6 @@ CURLcode CardDAV::SSLVerifyTest(){ conn = curl_easy_init(); - /*struct CardDAVCURLPasser { - - CardDAV *Data; - bool HeaderMode = TRUE; - - } CardDAVHeader, CardDAVFooter; - - CardDAVHeader.Data = this; - CardDAVHeader.HeaderMode = TRUE; - - CardDAVFooter.Data = this; - CardDAVFooter.HeaderMode = FALSE;*/ - wxString Data1; wxString Data2; @@ -62,13 +69,17 @@ CURLcode CardDAV::SSLVerifyTest(){ curl_easy_setopt(conn, CURLOPT_URL, (const char*)ServerAddressSSL.mb_str(wxConvUTF8)); curl_easy_setopt(conn, CURLOPT_CERTINFO, 1); curl_easy_setopt(conn, CURLOPT_VERBOSE, 1L); - //curl_easy_setopt(conn, CURLOPT_SSL_VERIFYPEER, FALSE); - //curl_easy_setopt(conn, CURLOPT_SSL_VERIFYHOST, FALSE); curl_easy_setopt(conn, CURLOPT_ERRORBUFFER, curlerrbuffer); curl_easy_setopt(conn, CURLOPT_WRITEFUNCTION, WritebackFunc); curl_easy_setopt(conn, CURLOPT_WRITEDATA, &PageData); curl_easy_setopt(conn, CURLOPT_WRITEHEADER, &PageHeader); +#if defined(__APPLE__) || defined(__WIN32__) + + SetConnectionObject(conn); + +#endif + conncode = (curl_easy_perform(conn)); // Check if the SSL certificate is valid or self-signed or some other @@ -96,10 +107,18 @@ CURLcode CardDAV::SSLVerifyTest(){ curl_easy_setopt(connssldata, CURLOPT_SSL_VERIFYPEER, 0L); curl_easy_setopt(connssldata, CURLOPT_SSL_VERIFYHOST, 0L); +#if defined(__APPLE__) || defined(__WIN32__) + + SetConnectionObject(connssldata); + +#endif + CURLcode certfetchcode; certfetchcode = (curl_easy_perform(connssldata)); +#if !defined(__APPLE__) && !defined(__WIN32__) + VerifyCertCollection = BuildSSLCollection(connssldata); if (certfetchcode == CURLE_OK){ @@ -114,6 +133,8 @@ CURLcode CardDAV::SSLVerifyTest(){ } +#endif + *ServerResult = FALSE; } else {