[packages/perl-IO-Socket-SSL] drop use-system-default-cipher-list patch; rel 2

atler atler at pld-linux.org
Thu Jan 6 13:10:16 CET 2022


commit 3eafb91aeadea56ccc47c0116da70ca2448ed786
Author: Jan Palus <atler at pld-linux.org>
Date:   Thu Jan 6 13:05:19 2022 +0100

    drop use-system-default-cipher-list patch; rel 2
    
    not applicable in PLD as of this writing -- requires:
    
    crypto-policies: https://src.fedoraproject.org/rpms/crypto-policies/
    openssl patch: https://src.fedoraproject.org/rpms/openssl/blob/main/f/0007-Add-support-for-PROFILE-SYSTEM-system-default-cipher.patch
    
    without it effectively breaks any connection:
    
    $ perl -e 'use IO::Socket::SSL; IO::Socket::SSL->new(PeerAddr => "dynupdate.no-ip.com", PeerPort => 443) or print($SSL_ERROR);'
    Failed to set SSL cipher list error:0A0000B9:SSL routines::no cipher match

 ...-SSL-2.068-use-system-default-cipher-list.patch | 101 ---------------------
 perl-IO-Socket-SSL.spec                            |   6 +-
 2 files changed, 2 insertions(+), 105 deletions(-)
---
diff --git a/perl-IO-Socket-SSL.spec b/perl-IO-Socket-SSL.spec
index 5bdbac6..78fb157 100644
--- a/perl-IO-Socket-SSL.spec
+++ b/perl-IO-Socket-SSL.spec
@@ -8,15 +8,14 @@ Summary:	IO::Socket::SSL - nearly transparent SSL encapsulation for IO::Socket::
 Summary(pl.UTF-8):	IO::Socket::SSL - prawie przezroczysta obudowa SSL dla IO::Socket::INET
 Name:		perl-IO-Socket-SSL
 Version:	2.073
-Release:	1
+Release:	2
 Epoch:		1
 # same as perl
 License:	GPL v1+ or Artistic
 Group:		Development/Languages/Perl
 Source0:	http://www.cpan.org/modules/by-module/IO/%{pdir}-%{pnam}-%{version}.tar.gz
 # Source0-md5:	43232d97e3898b0b0e79545568b7d751
-Patch0:		IO-Socket-SSL-2.068-use-system-default-cipher-list.patch
-Patch1:		IO-Socket-SSL-2.068-use-system-default-SSL-version.patch
+Patch0:		IO-Socket-SSL-2.068-use-system-default-SSL-version.patch
 URL:		https://metacpan.org/release/IO-Socket-SSL
 %if %{with tests}
 BuildRequires:	perl-Net-SSLeay >= 1.46
@@ -52,7 +51,6 @@ certyfikatu, wybór wersji SSL. Ponadto wspaniale działa z mod_perlem.
 %prep
 %setup -q -n %{pdir}-%{pnam}-%{version}
 %patch0 -p0
-%patch1 -p0
 
 %build
 echo "n" | \
diff --git a/IO-Socket-SSL-2.068-use-system-default-cipher-list.patch b/IO-Socket-SSL-2.068-use-system-default-cipher-list.patch
deleted file mode 100644
index 800ab64..0000000
--- a/IO-Socket-SSL-2.068-use-system-default-cipher-list.patch
+++ /dev/null
@@ -1,101 +0,0 @@
---- lib/IO/Socket/SSL.pm
-+++ lib/IO/Socket/SSL.pm
-@@ -202,77 +202,17 @@ my %DEFAULT_SSL_ARGS = (
-     SSL_npn_protocols => undef,    # meaning depends whether on server or client side
-     SSL_alpn_protocols => undef,   # list of protocols we'll accept/send, for example ['http/1.1','spdy/3.1']
- 
--    # https://wiki.mozilla.org/Security/Server_Side_TLS, 2019/03/05
--    # "Old backward compatibility" for best compatibility
--    # .. "Most ciphers that are not clearly broken and dangerous to use are supported"
--    # slightly reordered to prefer AES since it is cheaper when hardware accelerated
--    SSL_cipher_list => 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:DES-CBC3-SHA:HIGH:SEED:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!RSAPSK:!aDH:!aECDH:!EDH-DSS-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!SRP',
-+    # Use system-wide default cipher list to support use of system-wide
-+    # crypto policy (#1076390, #1127577, CPAN RT#97816)
-+    # https://fedoraproject.org/wiki/Changes/CryptoPolicy
-+    SSL_cipher_list => 'PROFILE=SYSTEM',
- );
- 
- my %DEFAULT_SSL_CLIENT_ARGS = (
-     %DEFAULT_SSL_ARGS,
-     SSL_verify_mode => SSL_VERIFY_PEER,
--
-     SSL_ca_file => undef,
-     SSL_ca_path => undef,
--
--    # older versions of F5 BIG-IP hang when getting SSL client hello >255 bytes
--    # http://support.f5.com/kb/en-us/solutions/public/13000/000/sol13037.html
--    # http://guest:guest@rt.openssl.org/Ticket/Display.html?id=2771
--    # Ubuntu worked around this by disabling TLSv1_2 on the client side for
--    # a while. Later a padding extension was added to OpenSSL to work around
--    # broken F5 but then IronPort croaked because it did not understand this
--    # extension so it was disabled again :(
--    # Firefox, Chrome and IE11 use TLSv1_2 but use only a few ciphers, so
--    # that packet stays small enough. We try the same here.
--
--    SSL_cipher_list => join(" ",
--
--	# SSLabs report for Chrome 48/OSX.
--	# This also includes the fewer ciphers Firefox uses.
--	'ECDHE-ECDSA-AES128-GCM-SHA256',
--	'ECDHE-RSA-AES128-GCM-SHA256',
--	'DHE-RSA-AES128-GCM-SHA256',
--	'ECDHE-ECDSA-CHACHA20-POLY1305',
--	'ECDHE-RSA-CHACHA20-POLY1305',
--	'ECDHE-ECDSA-AES256-SHA',
--	'ECDHE-RSA-AES256-SHA',
--	'DHE-RSA-AES256-SHA',
--	'ECDHE-ECDSA-AES128-SHA',
--	'ECDHE-RSA-AES128-SHA',
--	'DHE-RSA-AES128-SHA',
--	'AES128-GCM-SHA256',
--	'AES256-SHA',
--	'AES128-SHA',
--	'DES-CBC3-SHA',
--
--	# IE11/Edge has some more ciphers, notably SHA384 and DSS
--	# we don't offer the *-AES128-SHA256 and *-AES256-SHA384 non-GCM
--	# ciphers IE/Edge offers because they look like a large mismatch
--	# between a very strong HMAC and a comparably weak (but sufficient)
--	# encryption. Similar all browsers which do SHA384 can do ECDHE
--	# so skip the DHE*SHA384 ciphers.
--	'ECDHE-RSA-AES256-GCM-SHA384',
--	'ECDHE-ECDSA-AES256-GCM-SHA384',
--	# 'ECDHE-RSA-AES256-SHA384',
--	# 'ECDHE-ECDSA-AES256-SHA384',
--	# 'ECDHE-RSA-AES128-SHA256',
--	# 'ECDHE-ECDSA-AES128-SHA256',
--	# 'DHE-RSA-AES256-GCM-SHA384',
--	# 'AES256-GCM-SHA384',
--	'AES256-SHA256',
--	# 'AES128-SHA256',
--	'DHE-DSS-AES256-SHA256',
--	# 'DHE-DSS-AES128-SHA256',
--	'DHE-DSS-AES256-SHA',
--	'DHE-DSS-AES128-SHA',
--	'EDH-DSS-DES-CBC3-SHA',
--
--	# Just to make sure, that we don't accidentally add bad ciphers above.
--	# This includes dropping RC4 which is no longer supported by modern
--	# browsers and also excluded in the SSL libraries of Python and Ruby.
--	"!EXP !MEDIUM !LOW !eNULL !aNULL !RC4 !DES !MD5 !PSK !SRP"
--    )
- );
- 
- # set values inside _init to work with perlcc, RT#95452
---- lib/IO/Socket/SSL.pod
-+++ lib/IO/Socket/SSL.pod
-@@ -1069,12 +1069,8 @@ documentation (L<https://www.openssl.org
- for more details.
- 
- Unless you fail to contact your peer because of no shared ciphers it is
--recommended to leave this option at the default setting. The default setting
--prefers ciphers with forward secrecy, disables anonymous authentication and
--disables known insecure ciphers like MD5, DES etc. This gives a grade A result
--at the tests of SSL Labs.
--To use the less secure OpenSSL builtin default (whatever this is) set
--SSL_cipher_list to ''.
-+recommended to leave this option at the default setting, which honors the
-+system-wide PROFILE=SYSTEM cipher list.
- 
- In case different cipher lists are needed for different SNI hosts a hash can be
- given with the host as key and the cipher suite as value, similar to
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/perl-IO-Socket-SSL.git/commitdiff/3eafb91aeadea56ccc47c0116da70ca2448ed786



More information about the pld-cvs-commit mailing list