From 0249c6324bee9b437c9c9f26921e79ebfed37d99 Mon Sep 17 00:00:00 2001 From: Paul Howarth Date: Thu, 16 Oct 2014 14:10:03 +0100 Subject: [PATCH] Update to 2.000 - New upstream release 2.000 - Consider SSL3.0 as broken because of POODLE and disable it by default - Skip live tests without asking if environment NO_NETWORK_TESTING is set - Skip tests that require fork on non-default windows setups without proper fork (https://github.com/noxxi/p5-io-socket-ssl/pull/18) - Note that this package still uses system-default cipher and SSL versions, which may have SSL3.0 enabled --- ...1.999-use-system-default-SSL-version.patch | 32 ----------------- ...2.000-use-system-default-SSL-version.patch | 36 +++++++++++++++++++ ...2.000-use-system-default-cipher-list.patch | 2 +- perl-IO-Socket-SSL.spec | 17 ++++++--- sources | 2 +- 5 files changed, 51 insertions(+), 38 deletions(-) delete mode 100644 IO-Socket-SSL-1.999-use-system-default-SSL-version.patch create mode 100644 IO-Socket-SSL-2.000-use-system-default-SSL-version.patch rename IO-Socket-SSL-1.999-use-system-default-cipher-list.patch => IO-Socket-SSL-2.000-use-system-default-cipher-list.patch (97%) diff --git a/IO-Socket-SSL-1.999-use-system-default-SSL-version.patch b/IO-Socket-SSL-1.999-use-system-default-SSL-version.patch deleted file mode 100644 index 5178854..0000000 --- a/IO-Socket-SSL-1.999-use-system-default-SSL-version.patch +++ /dev/null @@ -1,32 +0,0 @@ ---- lib/IO/Socket/SSL.pm -+++ lib/IO/Socket/SSL.pm -@@ -83,7 +83,7 @@ my $algo2digest = do { - # global defaults - my %DEFAULT_SSL_ARGS = ( - SSL_check_crl => 0, -- SSL_version => 'SSLv23:!SSLv2', -+ SSL_version => '', - SSL_verify_callback => undef, - SSL_verifycn_scheme => undef, # fallback cn verification - SSL_verifycn_publicsuffix => undef, # fallback default list verification -@@ -2054,7 +2054,7 @@ WARN - - my $ssl_op = Net::SSLeay::OP_ALL(); - -- my $ver; -+ my $ver = ''; - for (split(/\s*:\s*/,$arg_hash->{SSL_version})) { - m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1(?:_?[12])?))$}i - or croak("invalid SSL_version specified"); ---- lib/IO/Socket/SSL.pod -+++ lib/IO/Socket/SSL.pod -@@ -912,7 +912,8 @@ recent versions of Net::SSLeay and opens - - You can limit to set of supported protocols by adding !version separated by ':'. - --The default SSL_version is 'SSLv23:!SSLv2' which means, that SSLv2, SSLv3 and -+The default SSL_version is defined by underlying cryptographic library. -+For example, 'SSLv23:!SSLv2' means that SSLv2, SSLv3 and TLSv1 - TLSv1 are supported for initial protocol handshakes, but SSLv2 will not be - accepted, leaving only SSLv3 and TLSv1. You can also use !TLSv1_1 and !TLSv1_2 - to disable TLS versions 1.1 and 1.2 while allowing TLS version 1.0. diff --git a/IO-Socket-SSL-2.000-use-system-default-SSL-version.patch b/IO-Socket-SSL-2.000-use-system-default-SSL-version.patch new file mode 100644 index 0000000..23c2125 --- /dev/null +++ b/IO-Socket-SSL-2.000-use-system-default-SSL-version.patch @@ -0,0 +1,36 @@ +--- lib/IO/Socket/SSL.pm ++++ lib/IO/Socket/SSL.pm +@@ -83,7 +83,7 @@ my $algo2digest = do { + # global defaults + my %DEFAULT_SSL_ARGS = ( + SSL_check_crl => 0, +- SSL_version => 'SSLv23:!SSLv3:!SSLv2', # consider both SSL3.0 and SSL2.0 as broken ++ SSL_version => '', + SSL_verify_callback => undef, + SSL_verifycn_scheme => undef, # fallback cn verification + SSL_verifycn_publicsuffix => undef, # fallback default list verification +@@ -2054,7 +2054,7 @@ WARN + + my $ssl_op = Net::SSLeay::OP_ALL(); + +- my $ver; ++ my $ver = ''; + for (split(/\s*:\s*/,$arg_hash->{SSL_version})) { + m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1(?:_?[12])?))$}i + or croak("invalid SSL_version specified"); +--- lib/IO/Socket/SSL.pod ++++ lib/IO/Socket/SSL.pod +@@ -910,11 +910,11 @@ protocol to the specified version. + All values are case-insensitive. Instead of 'TLSv1_1' and 'TLSv1_2' one can + also use 'TLSv11' and 'TLSv12'. Support for 'TLSv1_1' and 'TLSv1_2' requires + recent versions of Net::SSLeay and openssl. ++The default SSL_version is defined by the underlying cryptographic library. + + Indipendend from the handshake format you can limit to set of accepted SSL + versions by adding !version separated by ':'. +- +-The default SSL_version is 'SSLv23:!SSLv3:!SSLv2' which means, that the ++For example, 'SSLv23:!SSLv3:!SSLv2' means that the + handshake format is compatible to SSL2.0 and higher, but that the successful + handshake is limited to TLS1.0 and higher, that is no SSL2.0 or SSL3.0 because + both of these versions have serious security issues and should not be used diff --git a/IO-Socket-SSL-1.999-use-system-default-cipher-list.patch b/IO-Socket-SSL-2.000-use-system-default-cipher-list.patch similarity index 97% rename from IO-Socket-SSL-1.999-use-system-default-cipher-list.patch rename to IO-Socket-SSL-2.000-use-system-default-cipher-list.patch index d78b7ea..fb30157 100644 --- a/IO-Socket-SSL-1.999-use-system-default-cipher-list.patch +++ b/IO-Socket-SSL-2.000-use-system-default-cipher-list.patch @@ -56,7 +56,7 @@ # set values inside _init to work with perlcc, RT#95452 --- lib/IO/Socket/SSL.pod +++ lib/IO/Socket/SSL.pod -@@ -931,12 +931,8 @@ documentation (L= 0.9.8 @@ -72,7 +72,7 @@ mod_perl. %patch1 %build -echo n | perl Makefile.PL INSTALLDIRS=vendor +NO_NETWORK_TESTING=1 perl Makefile.PL INSTALLDIRS=vendor make %{?_smp_mflags} %install @@ -100,6 +100,15 @@ rm -rf %{buildroot} %{_mandir}/man3/IO::Socket::SSL::Utils.3* %changelog +* Thu Oct 16 2014 Paul Howarth - 2.000-1 +- Update to 2.000 + - Consider SSL3.0 as broken because of POODLE and disable it by default + - Skip live tests without asking if environment NO_NETWORK_TESTING is set + - Skip tests that require fork on non-default windows setups without proper + fork (https://github.com/noxxi/p5-io-socket-ssl/pull/18) +- Note that this package still uses system-default cipher and SSL versions, + which may have SSL3.0 enabled + * Fri Oct 10 2014 Paul Howarth - 1.999-1 - Update to 1.999 - Make sure we don't use version 0.30 of IO::Socket::IP diff --git a/sources b/sources index 4c5b6e9..bd67dc8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4f59cb143df2cf2664c83f3360febafb IO-Socket-SSL-1.999.tar.gz +cc45d249551032e09daa421ca59d5565 IO-Socket-SSL-2.000.tar.gz