differentiated the two functions. Updated docs, and tests
diff --git a/OpenSSL/SSL.py b/OpenSSL/SSL.py
index aaaea87..85cf976 100644
--- a/OpenSSL/SSL.py
+++ b/OpenSSL/SSL.py
@@ -1883,16 +1883,16 @@
return version.decode("utf-8")
- def get_protocol_version(self):
+ def get_protocol_version_name(self):
"""
Obtain the protocol version of the current connection.
:returns: The TLS version of the current connection, for example
- the value for TLS 1.2 would be ``TLSv1.2``.
+ the value for TLS 1.2 would be ``b'TLSv1.2'``.
:rtype: :py:class:`unicode`
"""
- version = _ffi.string(_lib.SSL_get_version(self._ssl))
- return version.decode("utf-8")
+ version = _lib.SSL_get_version(self._ssl)
+ return version
@_requires_npn
diff --git a/OpenSSL/test/test_ssl.py b/OpenSSL/test/test_ssl.py
index e118c15..01a76c1 100644
--- a/OpenSSL/test/test_ssl.py
+++ b/OpenSSL/test/test_ssl.py
@@ -2745,17 +2745,32 @@
self.assertEqual(server_cipher_bits, client_cipher_bits)
+ def test_get_protocol_version_name(self):
+ """
+ :py:obj:`Connection.get_protocol_version_name()` returns a string
+ giving the protocol version of the current connection.
+ """
+ server, client = self._loopback()
+ client_protocol_version_name = client.get_protocol_version_name()
+ server_protocol_version_name = server.get_protocol_version_name()
+
+ self.assertIsInstance(server_protocol_version_name, bytes)
+ self.assertIsInstance(client_protocol_version_name, bytes)
+
+ self.assertEqual(server_protocol_version_name, client_protocol_version_name)
+
+
def test_get_protocol_version(self):
"""
- :py:obj:`Connection.get_protocol_version()` returns a string
+ :py:obj:`Connection.get_protocol_version()` returns an integer
giving the protocol version of the current connection.
"""
server, client = self._loopback()
client_protocol_version = client.get_protocol_version()
server_protocol_version = server.get_protocol_version()
- self.assertIsInstance(server_protocol_version, text_type)
- self.assertIsInstance(client_protocol_version, text_type)
+ self.assertIsInstance(server_protocol_version, int)
+ self.assertIsInstance(client_protocol_version, int)
self.assertEqual(server_protocol_version, client_protocol_version)