aboutsummaryrefslogtreecommitdiffstats
path: root/src/tls/tls_version.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tls/tls_version.cpp')
-rw-r--r--src/tls/tls_version.cpp101
1 files changed, 0 insertions, 101 deletions
diff --git a/src/tls/tls_version.cpp b/src/tls/tls_version.cpp
deleted file mode 100644
index 7b880d98c..000000000
--- a/src/tls/tls_version.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
-* TLS Protocol Version Management
-* (C) 2012 Jack Lloyd
-*
-* Released under the terms of the Botan license
-*/
-
-#include <botan/tls_version.h>
-#include <botan/tls_exceptn.h>
-#include <botan/parsing.h>
-
-namespace Botan {
-
-namespace TLS {
-
-std::string Protocol_Version::to_string() const
- {
- const byte maj = major_version();
- const byte min = minor_version();
-
- if(maj == 3 && min == 0)
- return "SSL v3";
-
- if(maj == 3 && min >= 1) // TLS v1.x
- return "TLS v1." + std::to_string(min-1);
-
- if(maj == 254) // DTLS 1.x
- return "DTLS v1." + std::to_string(255 - min);
-
- // Some very new or very old protocol (or bogus data)
- return "Unknown " + std::to_string(maj) + "." + std::to_string(min);
- }
-
-bool Protocol_Version::is_datagram_protocol() const
- {
- return major_version() == 254;
- }
-
-bool Protocol_Version::operator>(const Protocol_Version& other) const
- {
- if(this->is_datagram_protocol() != other.is_datagram_protocol())
- throw TLS_Exception(Alert::PROTOCOL_VERSION,
- "Version comparing " + to_string() +
- " with " + other.to_string());
-
- if(this->is_datagram_protocol())
- return m_version < other.m_version; // goes backwards
-
- return m_version > other.m_version;
- }
-
-Protocol_Version Protocol_Version::best_known_match() const
- {
- if(known_version())
- return *this; // known version is its own best match
-
- if(is_datagram_protocol())
- return Protocol_Version::DTLS_V12;
- else
- return Protocol_Version::TLS_V12;
- }
-
-bool Protocol_Version::known_version() const
- {
- return (m_version == Protocol_Version::SSL_V3 ||
- m_version == Protocol_Version::TLS_V10 ||
- m_version == Protocol_Version::TLS_V11 ||
- m_version == Protocol_Version::TLS_V12 ||
- m_version == Protocol_Version::DTLS_V10 ||
- m_version == Protocol_Version::DTLS_V12);
- }
-
-bool Protocol_Version::supports_negotiable_signature_algorithms() const
- {
- return (m_version == Protocol_Version::TLS_V12 ||
- m_version == Protocol_Version::DTLS_V12);
- }
-
-bool Protocol_Version::supports_explicit_cbc_ivs() const
- {
- return (m_version == Protocol_Version::TLS_V11 ||
- m_version == Protocol_Version::TLS_V12 ||
- m_version == Protocol_Version::DTLS_V10 ||
- m_version == Protocol_Version::DTLS_V12);
- }
-
-bool Protocol_Version::supports_ciphersuite_specific_prf() const
- {
- return (m_version == Protocol_Version::TLS_V12 ||
- m_version == Protocol_Version::DTLS_V12);
- }
-
-bool Protocol_Version::supports_aead_modes() const
- {
- return (m_version == Protocol_Version::TLS_V12 ||
- m_version == Protocol_Version::DTLS_V12);
- }
-
-}
-
-}