Blob Blame History Raw
From f606a25a80a37d5565fed6fc1ce1d8d241dab6c7 Mon Sep 17 00:00:00 2001
From: Steffen Ullrich <Steffen_Ullrich@genua.de>
Date: Mon, 14 Oct 2013 14:13:39 +0200
Subject: [PATCH 1/2] support for handshake protocol TLSv11, TLSv12
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Petr Písař <ppisar@redhat.com>
---
 lib/IO/Socket/SSL.pm | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/lib/IO/Socket/SSL.pm b/lib/IO/Socket/SSL.pm
index 3279391..a30ffb1 100644
--- a/lib/IO/Socket/SSL.pm
+++ b/lib/IO/Socket/SSL.pm
@@ -1603,9 +1603,11 @@ sub new {
     }
 
     my $ctx_new_sub =  UNIVERSAL::can( 'Net::SSLeay',
-	$ver eq 'SSLv2' ? 'CTX_v2_new' :
-	$ver eq 'SSLv3' ? 'CTX_v3_new' :
-	$ver eq 'TLSv1' ? 'CTX_tlsv1_new' :
+	$ver eq 'SSLv2'  ? 'CTX_v2_new' :
+	$ver eq 'SSLv3'  ? 'CTX_v3_new' :
+	$ver eq 'TLSv1'  ? 'CTX_tlsv1_new' :
+	$ver eq 'TLSv11' ? 'CTX_tlsv1_1_new' :
+	$ver eq 'TLSv12' ? 'CTX_tlsv1_2_new' :
 	'CTX_new'
     ) or return IO::Socket::SSL->error("SSL Version $ver not supported");
     my $ctx = $ctx_new_sub->() or return 
@@ -2063,8 +2065,10 @@ See section "SNI Support" for details of SNI the support.
 =item SSL_version
 
 Sets the version of the SSL protocol used to transmit data. 'SSLv23' auto-negotiates 
-between SSLv2 and SSLv3, while 'SSLv2', 'SSLv3' or 'TLSv1' restrict the protocol
-to the specified version. All values are case-insensitive.
+between SSLv2 and SSLv3, while 'SSLv2', 'SSLv3', 'TLSv1', 'TLSv11' or 'TLSv12'
+restrict the protocol to the specified version. All values are case-insensitive.
+Support for 'TLSv11' and 'TLSv12' requires recent versions of Net::SSLeay
+and openssl.
 
 You can limit to set of supported protocols by adding !version separated by ':'.
 
-- 
2.7.4