Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-IO-Socket-SSL for 
openSUSE:Factory checked in at 2022-01-14 23:12:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-IO-Socket-SSL (Old)
 and      /work/SRC/openSUSE:Factory/.perl-IO-Socket-SSL.new.1892 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-IO-Socket-SSL"

Fri Jan 14 23:12:36 2022 rev:91 rq:946101 version:2.074

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-IO-Socket-SSL/perl-IO-Socket-SSL.changes    
2022-01-11 21:20:24.801007096 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-IO-Socket-SSL.new.1892/perl-IO-Socket-SSL.changes
  2022-01-14 23:12:59.994622479 +0100
@@ -1,0 +2,11 @@
+Sat Jan  8 03:07:59 UTC 2022 - Tina M??ller <timueller+p...@suse.de>
+
+- updated to 2.074
+   see /usr/share/doc/packages/perl-IO-Socket-SSL/Changes
+
+  2.074
+  - add SSL_ciphersuites option for TLS 1.3 ciphers
+  - no longer use own default for ciphers, instead use system default but 
disable
+    some weak ciphers which might still be enabled on older systems
+
+-------------------------------------------------------------------

Old:
----
  IO-Socket-SSL-2.073.tar.gz

New:
----
  IO-Socket-SSL-2.074.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-IO-Socket-SSL.spec ++++++
--- /var/tmp/diff_new_pack.GJZCeA/_old  2022-01-14 23:13:00.582622858 +0100
+++ /var/tmp/diff_new_pack.GJZCeA/_new  2022-01-14 23:13:00.586622861 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-IO-Socket-SSL
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %define cpan_name IO-Socket-SSL
 Name:           perl-IO-Socket-SSL
-Version:        2.073
+Version:        2.074
 Release:        0
 Summary:        Nearly transparent SSL encapsulation for IO::Socket::INET
 License:        Artistic-1.0 OR GPL-1.0-or-later

++++++ IO-Socket-SSL-2.073.tar.gz -> IO-Socket-SSL-2.074.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IO-Socket-SSL-2.073/Changes 
new/IO-Socket-SSL-2.074/Changes
--- old/IO-Socket-SSL-2.073/Changes     2021-12-22 20:24:38.000000000 +0100
+++ new/IO-Socket-SSL-2.074/Changes     2022-01-07 16:06:58.000000000 +0100
@@ -1,3 +1,7 @@
+2.074
+- add SSL_ciphersuites option for TLS 1.3 ciphers
+- no longer use own default for ciphers, instead use system default but disable
+  some weak ciphers which might still be enabled on older systems
 2.073
 - fix behavior and tests for openssl 3.0.1
 - fix #110 - prevent internal error warning in some cases
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IO-Socket-SSL-2.073/META.json 
new/IO-Socket-SSL-2.074/META.json
--- old/IO-Socket-SSL-2.073/META.json   2021-12-22 20:29:50.000000000 +0100
+++ new/IO-Socket-SSL-2.074/META.json   2022-01-07 16:08:40.000000000 +0100
@@ -52,6 +52,6 @@
          "url" : "https://github.com/noxxi/p5-io-socket-ssl";
       }
    },
-   "version" : "2.073",
+   "version" : "2.074",
    "x_serialization_backend" : "JSON::PP version 4.02"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IO-Socket-SSL-2.073/META.yml 
new/IO-Socket-SSL-2.074/META.yml
--- old/IO-Socket-SSL-2.073/META.yml    2021-12-22 20:29:50.000000000 +0100
+++ new/IO-Socket-SSL-2.074/META.yml    2022-01-07 16:08:39.000000000 +0100
@@ -27,5 +27,5 @@
   homepage: https://github.com/noxxi/p5-io-socket-ssl
   license: http://dev.perl.org/licenses/
   repository: https://github.com/noxxi/p5-io-socket-ssl
-version: '2.073'
+version: '2.074'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IO-Socket-SSL-2.073/lib/IO/Socket/SSL.pm 
new/IO-Socket-SSL-2.074/lib/IO/Socket/SSL.pm
--- old/IO-Socket-SSL-2.073/lib/IO/Socket/SSL.pm        2021-12-22 
20:24:53.000000000 +0100
+++ new/IO-Socket-SSL-2.074/lib/IO/Socket/SSL.pm        2022-01-07 
15:47:38.000000000 +0100
@@ -13,7 +13,7 @@
 
 package IO::Socket::SSL;
 
-our $VERSION = '2.073';
+our $VERSION = '2.074';
 
 use IO::Socket;
 use Net::SSLeay 1.46;
@@ -76,6 +76,7 @@
 my $check_partial_chain; # use X509_V_FLAG_PARTIAL_CHAIN if available
 my $auto_retry;      # (clear|set)_mode SSL_MODE_AUTO_RETRY with OpenSSL 
1.1.1+ with non-blocking
 my $ssl_mode_release_buffers = 0; # SSL_MODE_RELEASE_BUFFERS if available
+my $can_ciphersuites; # support for SSL_CTX_set_ciphersuites (TLS 1.3)
 
 my $openssl_version;
 my $netssleay_version;
@@ -113,6 +114,7 @@
     $can_tckt_keycb  = defined &Net::SSLeay::CTX_set_tlsext_ticket_getkey_cb
        && $netssleay_version >= 1.80;
     $can_pha = defined &Net::SSLeay::CTX_set_post_handshake_auth;
+    $can_ciphersuites = defined &Net::SSLeay::CTX_set_ciphersuites;
 
     if (defined &Net::SSLeay::SESSION_up_ref) {
        $session_upref = 1;
@@ -203,11 +205,8 @@
     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',
+    # rely on system default but be sure to disable some definitely bad ones
+    SSL_cipher_list => 'DEFAULT !EXP !MEDIUM !LOW !eNULL !aNULL !RC4 !DES !MD5 
!PSK !SRP',
 );
 
 my %DEFAULT_SSL_CLIENT_ARGS = (
@@ -216,64 +215,6 @@
 
     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:gu...@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
@@ -2973,6 +2914,16 @@
                ? $cl->{$_} || $cl->{''} || $DEFAULT_SSL_ARGS{SSL_cipher_list} 
|| next
                : $cl
            ) || return IO::Socket::SSL->error("Failed to set SSL cipher list");
+       }
+    }
+    if ( my $cl = $arg_hash->{SSL_ciphersuites} ) {
+       return IO::Socket::SSL->error("no support for SSL_ciphersuites in 
Net::SSLeay")
+           if ! $can_ciphersuites;
+       for (keys %ctx) {
+           Net::SSLeay::CTX_set_ciphersuites($ctx{$_}, ref($cl)
+               ? $cl->{$_} || $cl->{''} || $DEFAULT_SSL_ARGS{SSL_cipher_list} 
|| next
+               : $cl
+           ) || return IO::Socket::SSL->error("Failed to set SSL cipher list");
        }
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/IO-Socket-SSL-2.073/lib/IO/Socket/SSL.pod 
new/IO-Socket-SSL-2.074/lib/IO/Socket/SSL.pod
--- old/IO-Socket-SSL-2.073/lib/IO/Socket/SSL.pod       2021-09-06 
19:56:00.000000000 +0200
+++ new/IO-Socket-SSL-2.074/lib/IO/Socket/SSL.pod       2022-01-07 
15:47:17.000000000 +0100
@@ -1064,17 +1064,31 @@
 =item SSL_cipher_list
 
 If this option is set the cipher list for the connection will be set to the
-given value, e.g. something like 'ALL:!LOW:!EXP:!aNULL'. Look into the OpenSSL
-documentation 
(L<https://www.openssl.org/docs/manmaster/man1/openssl-ciphers.html#CIPHER-STRINGS>)
+given value, e.g. something like 'ALL:!LOW:!EXP:!aNULL'. This will only affect
+ciphers for TLS 1.2 and lower. See the OpenSSL documentation
+(L<https://www.openssl.org/docs/manmaster/man1/openssl-ciphers.html#CIPHER-STRINGS>)
 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 uses the system
+default but disables some insecure ciphers which might still be enabled on 
older
+systems.
+
+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
+B<SSL_cert*>.
+
+=item SSL_ciphersuites
+
+If this option is set the TLS 1.3 ciphersuites for the connection will be
+set to the given value. This is similar to SSL_cipher_list, but only for TLS 
1.3
+ciphers. See argument C<-ciphersuits> in the OpenSSL documentation
+(L<https://www.openssl.org/docs/manmaster/man1/openssl-ciphers.html>) for
+details.
+
+Unless you fail to contact your peer because of no shared ciphers it is
+recommended to leave this option at the default setting, which uses the system
+default.
 
 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

Reply via email to