#include "../../common/colour.h"
#include "../../common/text.h"
#include "../../common/uuid.h"
+#include "../../common/sslcertstructs.h"
using namespace std;
int seek = 0;
};
+// Objects to move to a ConnectionObject-like interface in the future.
+
+enum COSSLVerified {
+ COSSL_UNITTESTFAIL = -1,
+ COSSL_VERIFIED,
+ COSSL_VERIFIED_USER,
+ COSSL_UNABLETOVERIFY,
+ COSSL_NOTAPPLICABLE,
+ COSSL_NORESULT
+};
+
class CalDAV{
private:
string serverData = "";
string serverHeader = "";
+ COSSLVerified SSLVerified;
+ bool EnableSSLBypass = false;
+ bool SSLSelfSigned = false;
public:
CalDAV();
~CalDAV();
string GetCalendarHome(string userPrincipalURI);
CalDAVServerResult GetEntryETag(string *calendarEntryHREF, string *eTagValue);
-
+
+ COSSLVerified SSLVerify();
+ void BypassSSLVerification(bool EnableBypass);
+
+#if defined(__APPLE__)
+
+ SecTrustRef BuildSSLCollection();
+
+#elif defined(__WIN32__)
+
+ PCCERT_CONTEXT BuildSSLCollection();
+
+#else
+ SSLCertCollectionString BuildSSLCollection();
+
+#endif
};
// Subroutines that are used with the
// CalDAVConnectionData struct.
-bool CalDAVObjectValidSettings(CalDAVConnectionData *connData);
-string BuildServerAddress(CalDAVConnectionData *connData, string uriAddress);
+//bool CalDAVObjectValidSettings(CalDAVConnectionData *connData);
+//string BuildServerAddress(CalDAVConnectionData *connData, string uriAddress);
#endif