From 8cfb6d8f3492dd4180429f37dfb463b2fa48b0b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Remko=20Tron=C3=A7on?= <git@el-tramo.be>
Date: Sun, 7 Nov 2010 19:22:15 +0100
Subject: Added missing files.


diff --git a/Swiften/TLS/SecurityError.cpp b/Swiften/TLS/SecurityError.cpp
new file mode 100644
index 0000000..03aadf0
--- /dev/null
+++ b/Swiften/TLS/SecurityError.cpp
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2010 Remko Tronçon
+ * Licensed under the GNU General Public License v3.
+ * See Documentation/Licenses/GPLv3.txt for more information.
+ */
+
+#include "Swiften/TLS/SecurityError.h"
+#include "Swiften/TLS/CertificateVerificationError.h"
+
+namespace Swift {
+
+SecurityError::SecurityError(Type type) : type(type) {
+}
+
+SecurityError::SecurityError(const CertificateVerificationError& verificationError) {
+	type = UnknownError;
+	switch(verificationError.getType()) {
+		case CertificateVerificationError::UnknownError: type = UnknownError;
+		case CertificateVerificationError::Expired: type = Expired;
+		case CertificateVerificationError::NotYetValid: type = NotYetValid;
+		case CertificateVerificationError::SelfSigned: type = SelfSigned;
+		case CertificateVerificationError::Rejected: type = Rejected;
+		case CertificateVerificationError::Untrusted: type = Untrusted;
+		case CertificateVerificationError::InvalidPurpose: type = InvalidPurpose;
+		case CertificateVerificationError::PathLengthExceeded: type = PathLengthExceeded;
+		case CertificateVerificationError::InvalidSignature: type = InvalidSignature;
+		case CertificateVerificationError::InvalidCA: type = InvalidCA;
+	}
+}
+
+}
diff --git a/Swiften/TLS/SecurityError.h b/Swiften/TLS/SecurityError.h
new file mode 100644
index 0000000..55ac7d5
--- /dev/null
+++ b/Swiften/TLS/SecurityError.h
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2010 Remko Tronçon
+ * Licensed under the GNU General Public License v3.
+ * See Documentation/Licenses/GPLv3.txt for more information.
+ */
+
+#pragma once
+
+namespace Swift {
+	class CertificateVerificationError;
+
+	class SecurityError {
+		public:
+			enum Type {
+				// From CertificateVerificationError
+				UnknownError,
+				Expired,
+				NotYetValid,
+				SelfSigned,
+				Rejected,
+				Untrusted,
+				InvalidPurpose,
+				PathLengthExceeded,
+				InvalidSignature,
+				InvalidCA,
+
+				// Identity verification
+				InvalidIdentity,
+			};
+
+			SecurityError(Type type);
+			SecurityError(const CertificateVerificationError& verificationError);
+
+
+			Type getType() const { 
+				return type; 
+			}
+
+		private:
+			Type type;
+	};
+}
-- 
cgit v0.10.2-6-g49f6