Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Win32 Support: Setup initial connection
authorSteve Brokenshire <sbrokenshire@xestia.co.uk>
Thu, 12 May 2016 21:52:45 +0000 (22:52 +0100)
committerSteve Brokenshire <sbrokenshire@xestia.co.uk>
Thu, 12 May 2016 21:52:45 +0000 (22:52 +0100)
source/carddav/carddav-connect.cpp

index 3674e9a..a265497 100644 (file)
@@ -84,6 +84,15 @@ bool CardDAV::Connect(){
                // Setup two initial connections and attempt to get the certificate data.
 
                curl_easy_setopt(conn, CURLOPT_URL, (const char*)ServerAddressSSL.mb_str(wxConvUTF8));
+               curl_easy_setopt(conn, CURLOPT_NOPROGRESS, 1L);
+               curl_easy_setopt(conn, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
+               curl_easy_setopt(conn, CURLOPT_TIMEOUT, 60);
+               curl_easy_setopt(conn, CURLOPT_FAILONERROR, TRUE);
+               curl_easy_setopt(conn, CURLOPT_USERAGENT, XSDAB_USERAGENT);
+               curl_easy_setopt(conn, CURLOPT_WRITEFUNCTION, WritebackFunc);
+               curl_easy_setopt(conn, CURLOPT_WRITEDATA, &PageData);
+               curl_easy_setopt(conn, CURLOPT_WRITEHEADER, &PageHeader);
+               curl_easy_setopt(conn, CURLOPT_NOSIGNAL, 1);
                curl_easy_setopt(conn, CURLOPT_CERTINFO, 1);
 
                conncode = (curl_easy_perform(conn));
@@ -113,6 +122,8 @@ bool CardDAV::Connect(){
 
                }
 
+               ServerAddressSSL.append("principals/");
+
                curl_easy_setopt(conn, CURLOPT_URL, (const char*)ServerAddressSSL.mb_str(wxConvUTF8));
                curl_easy_setopt(conn, CURLOPT_NOPROGRESS, 1L);
                curl_easy_setopt(conn, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
@@ -123,6 +134,7 @@ bool CardDAV::Connect(){
                curl_easy_setopt(conn, CURLOPT_WRITEFUNCTION, WritebackFunc);
                curl_easy_setopt(conn, CURLOPT_WRITEDATA, &PageData);
                curl_easy_setopt(conn, CURLOPT_WRITEHEADER, &PageHeader);
+               curl_easy_setopt(conn, CURLOPT_CUSTOMREQUEST, "OPTIONS");
                curl_easy_setopt(conn, CURLOPT_NOSIGNAL, 1);
                curl_easy_setopt(conn, CURLOPT_CERTINFO, 1);
                
@@ -131,7 +143,7 @@ bool CardDAV::Connect(){
                        curl_easy_setopt(conn, CURLOPT_SSL_VERIFYHOST, 0L);
                }
 
-#if defined(__APPLE__)
+#if defined(__APPLE__) || defined(__WIN32__)
                 
                 SetConnectionObject(conn);
         
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy