+// carddav-servercontact.cpp - CardDAV Object - Server Contact 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 <http://www.gnu.org/licenses/>
+
#include "carddav.h"
#include "../version.h"
#include <wx/wx.h>
void CardDAV::GetServerContactData()
{
+ // Get the server contact data.
+
PageData.Clear();
PageHeader.Clear();
ServerAddressNormal = wxT("http://") + ServerAddressURL;
ServerAuth = ServerUser + wxT(":") + ServerPass;
-
- // Try SSL first.
-
-
- /*
- char *ServerAdrSSLChar = new char[(ServerAddressSSL.Length() - 1)];
- //memset(ServerAdrSSLChar, 0, ServerAddressSSL.Length());
- strncpy(ServerAdrSSLChar, (const char*)ServerAddressSSL.mb_str(wxConvUTF8), (ServerAddressSSL.Length() - 1));
-
- char *ServerAdrNorChar = new char[(ServerAddressNormal.Length() - 1)];
- //memset(ServerAdrNorChar, 0, ServerAddressSSL.Length());
- strncpy(ServerAdrNorChar, (const char*)ServerAddressNormal.mb_str(wxConvUTF8), (ServerAddressNormal.Length() - 1));
-
- char *ServerAuthChar = new char[(ServerAuth.Length() - 1)];
- //memset(ServerAuthChar, 0, ServerAddressSSL.Length());
- strncpy(ServerAuthChar, (const char*)ServerAuth.mb_str(wxConvUTF8), (ServerAuth.Length() - 1));
-
- */
-
- //std::string WriteDataString = std::string(ServerUploadData.mb_str());
std::map<int,int>::iterator ActIter;
struct UploadDataStruc UploadData;
-
ActIter = ActivityListPtr->find((int)ItemIndex);
-
- //ActIter->second = 1;
-
- /*wxString CardDAVDataQuery = wxT("<?xml version=\"1.0\" encoding=\"utf-8\" ?>\r\n");
- CardDAVDataQuery.Append(wxT("<C:addressbook-multiget xmlns:D=\"DAV:\"\r\n"));
- CardDAVDataQuery.Append(wxT(" xmlns:C=\"urn:ietf:params:xml:ns:carddav\">\r\n"));
- CardDAVDataQuery.Append(wxT("<D:prop><D:getetag/>\r\n"));
- CardDAVDataQuery.Append(wxT("<C:address-data>\r\n"));
- CardDAVDataQuery.Append(wxT(" <C:allprop/>\r\n"));
- CardDAVDataQuery.Append(wxT("</C:address-data></D:prop>\r\n"));
- CardDAVDataQuery.Append(wxT("</C:addressbook-multiget>"));*/
+
+ // Try SSL first.
if (ServerSSL){
curl_easy_setopt(conn, CURLOPT_WRITEDATA, &PageData);
curl_easy_setopt(conn, CURLOPT_WRITEHEADER, &PageHeader);
curl_easy_setopt(conn, CURLOPT_NOSIGNAL, 1);
-
- //UploadData.readptr = &CardDAVDataQuery;
- //UploadData.sizeleft = CardDAVDataQuery.Len();
- //curl_easy_setopt(conn, CURLOPT_UPLOAD, 1);
- //curl_easy_setopt(conn, CURLOPT_READDATA, &UploadData);
- //curl_easy_setopt(conn, CURLOPT_READFUNCTION, UploadReadFunc);
ServerCertFilename = GetAccountDir(ServerAccount, TRUE);
curl_easy_setopt(conn, CURLOPT_WRITEDATA, &PageData);
curl_easy_setopt(conn, CURLOPT_WRITEHEADER, &PageHeader);
curl_easy_setopt(conn, CURLOPT_NOSIGNAL, 1);
-
- //UploadData.readptr = &CardDAVDataQuery;
- //UploadData.sizeleft = CardDAVDataQuery.Len();
claconncode = (curl_easy_perform(conn));
if (claconncode == CURLE_SSL_CACERT && wxFile::Exists(ServerCertFilename) == TRUE){
- //curl_easy_cleanup(conn);
- //conn = curl_easy_init();
-
CURL *sslerrconn;
sslerrconn = curl_easy_init();
CURLcode sslerrconncode;
- //claconncode = (curl_easy_perform(conn));
-
wxString ServerAddressOnly = wxT("https://") + ServerAddress + wxT(":") + wxString::Format(wxT("%i"), ServerPort) + wxT("/");
curl_easy_setopt(sslerrconn, CURLOPT_URL, (const char*)ServerAddressOnly.mb_str(wxConvUTF8));
curl_easy_setopt(sslerrconn, CURLOPT_WRITEDATA, &PageData);
curl_easy_setopt(sslerrconn, CURLOPT_WRITEHEADER, &PageHeader);
curl_easy_setopt(sslerrconn, CURLOPT_NOSIGNAL, 1);
-
- //UploadData.readptr = &CardDAVDataQuery;
- //UploadData.sizeleft = CardDAVDataQuery.Len();
curl_easy_setopt(sslerrconn, CURLOPT_SSL_VERIFYPEER, 0);
curl_easy_setopt(sslerrconn, CURLOPT_SSL_VERIFYHOST, 0);
curl_easy_setopt(sslerrconn, CURLOPT_CERTINFO, 1);
curl_easy_setopt(conn, CURLOPT_WRITEDATA, &PageData);
curl_easy_setopt(conn, CURLOPT_WRITEHEADER, &PageHeader);
curl_easy_setopt(conn, CURLOPT_NOSIGNAL, 1);
-
- //UploadData.readptr = &CardDAVDataQuery;
- //UploadData.sizeleft = CardDAVDataQuery.Len();
curl_easy_setopt(conn, CURLOPT_SSL_VERIFYHOST, 0);
curl_easy_setopt(conn, CURLOPT_SSL_VERIFYPEER, 0);
curl_easy_setopt(conn, CURLOPT_WRITEHEADER, &PageHeader);
curl_easy_setopt(conn, CURLOPT_NOSIGNAL, 1);
- //UploadData.readptr = &CardDAVDataQuery;
- //UploadData.sizeleft = CardDAVDataQuery.Len();
- //curl_easy_setopt(conn, CURLOPT_UPLOAD, 1);
- //curl_easy_setopt(conn, CURLOPT_READDATA, &UploadData);
- //curl_easy_setopt(conn, CURLOPT_READFUNCTION, UploadReadFunc);
-
- //UploadData.readptr = &CardDAVDataQuery;
- //UploadData.sizeleft = CardDAVDataQuery.Len();
- //curl_easy_setopt(conn, CURLOPT_UPLOAD, 1);
- //curl_easy_setopt(conn, CURLOPT_READDATA, &UploadData);
- //curl_easy_setopt(conn, CURLOPT_READFUNCTION, UploadReadFunc);
-
- //curl_easy_setopt(conn, CURLOPT_WRITEFUNCTION, writefunc);
-
PageData.Clear();
PageHeader.Clear();