6309f8
--- lib/IO/Socket/SSL.pm
6309f8
+++ lib/IO/Socket/SSL.pm
6309f8
@@ -116,7 +116,7 @@ my $algo2digest = do {
6309f8
 # global defaults
6309f8
 my %DEFAULT_SSL_ARGS = (
6309f8
     SSL_check_crl => 0,
6309f8
-    SSL_version => 'SSLv23:!SSLv3:!SSLv2', # consider both SSL3.0 and SSL2.0 as broken
6309f8
+    SSL_version => '',
6309f8
     SSL_verify_callback => undef,
6309f8
     SSL_verifycn_scheme => undef,  # fallback cn verification
6309f8
     SSL_verifycn_publicsuffix => undef,  # fallback default list verification
6309f8
@@ -2279,7 +2279,7 @@ sub new {
6309f8
 
6309f8
     my $ssl_op = $DEFAULT_SSL_OP;
6309f8
 
6309f8
-    my $ver;
6309f8
+    my $ver = '';
6309f8
     for (split(/\s*:\s*/,$arg_hash->{SSL_version})) {
6309f8
 	m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1(?:_?[12])?))$}i
6309f8
 	or croak("invalid SSL_version specified");
6309f8
--- lib/IO/Socket/SSL.pod
6309f8
+++ lib/IO/Socket/SSL.pod
6309f8
@@ -993,11 +993,12 @@ protocol to the specified version.
6309f8
 All values are case-insensitive.  Instead of 'TLSv1_1' and 'TLSv1_2' one can
6309f8
 also use 'TLSv11' and 'TLSv12'.  Support for 'TLSv1_1' and 'TLSv1_2' requires
6309f8
 recent versions of Net::SSLeay and openssl.
6309f8
+The default SSL_version is defined by the underlying cryptographic library.
6309f8
 
6309f8
 Independent from the handshake format you can limit to set of accepted SSL
6309f8
 versions by adding !version separated by ':'.
6309f8
 
6309f8
-The default SSL_version is 'SSLv23:!SSLv3:!SSLv2' which means, that the
6309f8
+For example, 'SSLv23:!SSLv3:!SSLv2' means that the
6309f8
 handshake format is compatible to SSL2.0 and higher, but that the successful
6309f8
 handshake is limited to TLS1.0 and higher, that is no SSL2.0 or SSL3.0 because
6309f8
 both of these versions have serious security issues and should not be used