#53 Update to Ruby 2.5.7 in F29.
Closed 2 years ago by pvalena. Opened 2 years ago by pvalena.
rpms/ pvalena/ruby rebase-f29  into  master

file modified
+1
@@ -119,6 +119,7 @@ 

      def default_path

        path = default_dirs.collect {|location, paths| paths[:gem_dir]}

        path.unshift Gem.user_dir if File.exist? Gem.user_home

+       path

      end

  

      def default_ext_dir_for base_dir

@@ -11,7 +11,7 @@ 

  index 682eb46..e6b1445 100644

  --- a/lib/mkmf.rb

  +++ b/lib/mkmf.rb

- @@ -1899,7 +1899,7 @@ def configuration(srcdir)

+ @@ -1900,7 +1900,7 @@ def configuration(srcdir)

   SHELL = /bin/sh

   

   # V=0 quiet, V=1 verbose.  other values don't work.

@@ -39,7 +39,7 @@ 

  index 028ef7ca3e..cdeff87871 100644

  --- a/configure.ac

  +++ b/configure.ac

- @@ -4396,6 +4396,13 @@ AC_SUBST(rubyarchhdrdir)dnl

+ @@ -4397,6 +4397,13 @@ AC_SUBST(rubyarchhdrdir)dnl

   AC_SUBST(sitearchhdrdir)dnl

   AC_SUBST(vendorarchhdrdir)dnl

   

@@ -11,7 +11,7 @@ 

  index 11fc237552..b77e88fc37 100644

  --- a/configure.ac

  +++ b/configure.ac

- @@ -3641,6 +3641,11 @@ AS_IF([test ${multiarch+set}], [

+ @@ -3642,6 +3642,11 @@ AS_IF([test ${multiarch+set}], [

   ])

   

   archlibdir='${libdir}/${arch}'

@@ -14,7 +14,7 @@ 

  index 999e2d6d5d..11fc237552 100644

  --- a/configure.ac

  +++ b/configure.ac

- @@ -4251,7 +4251,8 @@ AS_CASE(["$ruby_version_dir_name"],

+ @@ -4252,7 +4252,8 @@ AS_CASE(["$ruby_version_dir_name"],

   ruby_version_dir=/'${ruby_version_dir_name}'

   

   if test -z "${ruby_version_dir_name}"; then

@@ -11,7 +11,7 @@ 

  index b77e88fc37..6bba453e3c 100644

  --- a/configure.ac

  +++ b/configure.ac

- @@ -4315,6 +4315,8 @@ AC_SUBST(vendorarchdir)dnl

+ @@ -4316,6 +4316,8 @@ AC_SUBST(vendorarchdir)dnl

   AC_SUBST(CONFIGURE, "`echo $0 | sed 's|.*/||'`")dnl

   AC_SUBST(configure_args, "`echo "${ac_configure_args}" | sed 's/\\$/$$/g'`")dnl

   

@@ -15,7 +15,7 @@ 

  index 6bba453e3c..028ef7ca3e 100644

  --- a/configure.ac

  +++ b/configure.ac

- @@ -4287,6 +4287,10 @@ AC_ARG_WITH(vendorarchdir,

+ @@ -4288,6 +4288,10 @@ AC_ARG_WITH(vendorarchdir,

               [vendorarchdir=$withval],

               [vendorarchdir=${multiarch+'${rubysitearchprefix}/vendor_ruby'${ruby_version_dir}}${multiarch-'${vendorlibdir}/${sitearch}'}])

   
@@ -26,7 +26,7 @@ 

   AS_IF([test "${LOAD_RELATIVE+set}"], [

       AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE)

       RUBY_EXEC_PREFIX=''

- @@ -4311,6 +4315,7 @@ AC_SUBST(sitearchdir)dnl

+ @@ -4312,6 +4316,7 @@ AC_SUBST(sitearchdir)dnl

   AC_SUBST(vendordir)dnl

   AC_SUBST(vendorlibdir)dnl

   AC_SUBST(vendorarchdir)dnl

@@ -20,7 +20,7 @@ 

  index 8ea969412f..a00f2b6776 100644

  --- a/configure.ac

  +++ b/configure.ac

- @@ -4202,9 +4202,6 @@ AS_CASE(["$target_os"],

+ @@ -4203,9 +4203,6 @@ AS_CASE(["$target_os"],

       rubyw_install_name='$(RUBYW_INSTALL_NAME)'

       ])

   
@@ -30,7 +30,7 @@ 

   rubyarchprefix=${multiarch+'${archlibdir}/${RUBY_BASE_NAME}'}${multiarch-'${rubylibprefix}/${arch}'}

   AC_ARG_WITH(rubyarchprefix,

   	    AS_HELP_STRING([--with-rubyarchprefix=DIR],

- @@ -4227,56 +4224,62 @@ AC_ARG_WITH(ridir,

+ @@ -4228,56 +4225,62 @@ AC_ARG_WITH(ridir,

   AC_SUBST(ridir)

   AC_SUBST(RI_BASE_NAME)

   
@@ -120,7 +120,7 @@ 

   

   AS_IF([test "${LOAD_RELATIVE+set}"], [

       AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE)

- @@ -4293,6 +4296,7 @@ AC_SUBST(sitearchincludedir)dnl

+ @@ -4294,6 +4297,7 @@ AC_SUBST(sitearchincludedir)dnl

   AC_SUBST(arch)dnl

   AC_SUBST(sitearch)dnl

   AC_SUBST(ruby_version)dnl
@@ -245,7 +245,7 @@ 

  index 0428bea..b6e090e 100644

  --- a/test/rubygems/test_gem.rb

  +++ b/test/rubygems/test_gem.rb

- @@ -1156,7 +1156,8 @@ def test_self_use_paths

+ @@ -1191,7 +1191,8 @@ def test_self_use_paths

   

     def test_self_user_dir

       parts = [@userhome, '.gem', Gem.ruby_engine]
@@ -255,7 +255,7 @@ 

   

       assert_equal File.join(parts), Gem.user_dir

     end

- @@ -1283,7 +1284,7 @@ def test_self_user_home_user_drive_and_path

+ @@ -1318,7 +1319,7 @@ def test_self_user_home_user_drive_and_path

     def test_self_vendor_dir

       expected =

         File.join RbConfig::CONFIG['vendordir'], 'gems',

@@ -64,7 +64,7 @@ 

  index 3225a05c6b..62b80c4945 100644

  --- a/test/rubygems/test_gem.rb

  +++ b/test/rubygems/test_gem.rb

- @@ -1802,6 +1802,13 @@ def test_use_gemdeps_specific

+ @@ -1837,6 +1837,13 @@ def test_use_gemdeps_specific

       ENV['RUBYGEMS_GEMDEPS'] = rubygems_gemdeps

     end

   

@@ -1,112 +0,0 @@ 

- From 71057ca5963108bac1e2c31bd0e8e205ba74cc19 Mon Sep 17 00:00:00 2001

- From: Kazuki Yamaguchi <k@rhe.jp>

- Date: Fri, 11 May 2018 13:43:32 +0900

- Subject: [PATCH 1/2] test/test_pkey_rsa: fix test failure with OpenSSL 1.1.1

- 

- OpenSSL 1.1.1 raised the minimum size for RSA keys to 512 bits.

- ---

-  test/openssl/test_pkey_rsa.rb | 9 ++++++++-

-  1 file changed, 8 insertions(+), 1 deletion(-)

- 

- diff --git a/test/openssl/test_pkey_rsa.rb b/test/openssl/test_pkey_rsa.rb

- index c1205563..b4393e68 100644

- --- a/test/openssl/test_pkey_rsa.rb

- +++ b/test/openssl/test_pkey_rsa.rb

- @@ -60,6 +60,13 @@ def test_new_with_exponent

-      end

-    end

-  

- +  def test_generate

- +    key = OpenSSL::PKey::RSA.generate(512, 17)

- +    assert_equal 512, key.n.num_bits

- +    assert_equal 17, key.e

- +    assert_not_nil key.d

- +  end

- +

-    def test_new_break

-      assert_nil(OpenSSL::PKey::RSA.new(1024) { break })

-      assert_raise(RuntimeError) do

- @@ -256,7 +263,7 @@ def test_pem_passwd

-    end

-  

-    def test_dup

- -    key = OpenSSL::PKey::RSA.generate(256, 17)

- +    key = Fixtures.pkey("rsa1024")

-      key2 = key.dup

-      assert_equal key.params, key2.params

-      key2.set_key(key2.n, 3, key2.d)

- 

- From a5e26bc1345fe325bdc619f9b1768b7ad3c94214 Mon Sep 17 00:00:00 2001

- From: Kazuki Yamaguchi <k@rhe.jp>

- Date: Fri, 11 May 2018 14:12:39 +0900

- Subject: [PATCH 2/2] test/test_ssl_session: set client protocol version

-  explicitly

- 

- Clients that implement TLS 1.3's Middlebox Compatibility Mode will

- always provide a non-empty session ID in the ClientHello. This means

- the "get" callback for the server-side session caching may be called

- for the initial connection.

- ---

-  test/openssl/test_ssl_session.rb | 14 +++++++++-----

-  1 file changed, 9 insertions(+), 5 deletions(-)

- 

- diff --git a/test/openssl/test_ssl_session.rb b/test/openssl/test_ssl_session.rb

- index af8c65b1..6db0c2d1 100644

- --- a/test/openssl/test_ssl_session.rb

- +++ b/test/openssl/test_ssl_session.rb

- @@ -198,7 +198,9 @@ def test_server_session_cache

-        first_session = nil

-        10.times do |i|

-          connections = i

- -        server_connect_with_session(port, nil, first_session) { |ssl|

- +        cctx = OpenSSL::SSL::SSLContext.new

- +        cctx.ssl_version = :TLSv1_2

- +        server_connect_with_session(port, cctx, first_session) { |ssl|

-            ssl.puts("abc"); assert_equal "abc\n", ssl.gets

-            first_session ||= ssl.session

-  

- @@ -257,6 +259,8 @@ def test_ctx_server_session_cb

-  

-      connections = nil

-      called = {}

- +    cctx = OpenSSL::SSL::SSLContext.new

- +    cctx.ssl_version = :TLSv1_2

-      sctx = nil

-      ctx_proc = Proc.new { |ctx|

-        sctx = ctx

- @@ -292,7 +296,7 @@ def test_ctx_server_session_cb

-      }

-      start_server(ctx_proc: ctx_proc) do |port|

-        connections = 0

- -      sess0 = server_connect_with_session(port, nil, nil) { |ssl|

- +      sess0 = server_connect_with_session(port, cctx, nil) { |ssl|

-          ssl.puts("abc"); assert_equal "abc\n", ssl.gets

-          assert_equal false, ssl.session_reused?

-          ssl.session

- @@ -307,7 +311,7 @@ def test_ctx_server_session_cb

-  

-        # Internal cache hit

-        connections = 1

- -      server_connect_with_session(port, nil, sess0.dup) { |ssl|

- +      server_connect_with_session(port, cctx, sess0.dup) { |ssl|

-          ssl.puts("abc"); assert_equal "abc\n", ssl.gets

-          assert_equal true, ssl.session_reused?

-          ssl.session

- @@ -328,7 +332,7 @@ def test_ctx_server_session_cb

-  

-        # External cache hit

-        connections = 2

- -      sess2 = server_connect_with_session(port, nil, sess0.dup) { |ssl|

- +      sess2 = server_connect_with_session(port, cctx, sess0.dup) { |ssl|

-          ssl.puts("abc"); assert_equal "abc\n", ssl.gets

-          if !ssl.session_reused? && openssl?(1, 1, 0) && !openssl?(1, 1, 0, 7)

-            # OpenSSL >= 1.1.0, < 1.1.0g

- @@ -355,7 +359,7 @@ def test_ctx_server_session_cb

-  

-        # Cache miss

-        connections = 3

- -      sess3 = server_connect_with_session(port, nil, sess0.dup) { |ssl|

- +      sess3 = server_connect_with_session(port, cctx, sess0.dup) { |ssl|

-          ssl.puts("abc"); assert_equal "abc\n", ssl.gets

-          assert_equal false, ssl.session_reused?

-          ssl.session

@@ -1,115 +0,0 @@ 

- From 584b5929f9b769c4d0b03e322a9fddf2b2dd3454 Mon Sep 17 00:00:00 2001

- From: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>

- Date: Sun, 1 Apr 2018 13:02:11 +0000

- Subject: [PATCH] test_time_tz.rb: Kiritimati tzdata fix

- 

- * test/ruby/test_time_tz.rb (gen_zdump_test): fix the expected

-   data at the Kiritimati's skip of New Year's Eve 1994.

-   [Bug #14655]

- 

- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

- ---

-  test/ruby/test_time_tz.rb | 9 +++++++++

-  1 file changed, 9 insertions(+)

- 

- diff --git a/test/ruby/test_time_tz.rb b/test/ruby/test_time_tz.rb

- index dfe139033ed3..ac5f81892878 100644

- --- a/test/ruby/test_time_tz.rb

- +++ b/test/ruby/test_time_tz.rb

- @@ -364,9 +364,18 @@ def self.gen_zdump_test(data)

-  Europe/London  Sun Aug 10 01:00:00 1947 UTC = Sun Aug 10 02:00:00 1947 BST isdst=1 gmtoff=3600

-  Europe/London  Sun Nov  2 01:59:59 1947 UTC = Sun Nov  2 02:59:59 1947 BST isdst=1 gmtoff=3600

-  Europe/London  Sun Nov  2 02:00:00 1947 UTC = Sun Nov  2 02:00:00 1947 GMT isdst=0 gmtoff=0

- +End

- +  if CORRECT_KIRITIMATI_SKIP_1994

- +    gen_zdump_test <<'End'

- +Pacific/Kiritimati  Sat Dec 31 09:59:59 1994 UTC = Fri Dec 30 23:59:59 1994 LINT isdst=0 gmtoff=-36000

- +Pacific/Kiritimati  Sat Dec 31 10:00:00 1994 UTC = Sun Jan  1 00:00:00 1995 LINT isdst=0 gmtoff=50400

- +End

- +  else

- +    gen_zdump_test <<'End'

-  Pacific/Kiritimati  Sun Jan  1 09:59:59 1995 UTC = Sat Dec 31 23:59:59 1994 LINT isdst=0 gmtoff=-36000

-  Pacific/Kiritimati  Sun Jan  1 10:00:00 1995 UTC = Mon Jan  2 00:00:00 1995 LINT isdst=0 gmtoff=50400

-  End

- +  end

-    gen_zdump_test <<'End' if has_right_tz

-  right/America/Los_Angeles  Fri Jun 30 23:59:60 1972 UTC = Fri Jun 30 16:59:60 1972 PDT isdst=1 gmtoff=-25200

-  right/America/Los_Angeles  Wed Dec 31 23:59:60 2008 UTC = Wed Dec 31 15:59:60 2008 PST isdst=0 gmtoff=-28800

- --

- 

- From 2965c2d4df78e6f5acf8759f84c88ce14a4e70f1 Mon Sep 17 00:00:00 2001

- From: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>

- Date: Sun, 1 Apr 2018 02:00:36 +0000

- Subject: [PATCH] test_time_tz.rb: Kiritimati tzdata fix

- 

- * test/ruby/test_time_tz.rb (TestTimeTZ#test_pacific_kiritimati):

-   fix the expected data at the skip of New Year's Eve 1994.

-   [Bug #14655]

- 

- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

- ---

-  test/ruby/test_time_tz.rb | 17 ++++++++++++++---

-  1 file changed, 14 insertions(+), 3 deletions(-)

- 

- diff --git a/test/ruby/test_time_tz.rb b/test/ruby/test_time_tz.rb

- index 39b830d28a3d..dfe139033ed3 100644

- --- a/test/ruby/test_time_tz.rb

- +++ b/test/ruby/test_time_tz.rb

- @@ -89,6 +89,9 @@ def group_by(e, &block)

-        Time.local(1951, 5, 6, 1, 0, 0).dst?   # DST with fixed tzdata

-      end

-    }

- +  CORRECT_KIRITIMATI_SKIP_1994 = with_tz("Pacific/Kiritimati") {

- +    Time.local(1994, 12, 31, 0, 0, 0).year == 1995

- +  }

-  

-    def time_to_s(t)

-      t.to_s

- @@ -178,9 +181,17 @@ def test_europe_lisbon

-  

-    def test_pacific_kiritimati

-      with_tz(tz="Pacific/Kiritimati") {

- -      assert_time_constructor(tz, "1994-12-31 23:59:59 -1000", :local, [1994,12,31,23,59,59])

- -      assert_time_constructor(tz, "1995-01-02 00:00:00 +1400", :local, [1995,1,1,0,0,0])

- -      assert_time_constructor(tz, "1995-01-02 23:59:59 +1400", :local, [1995,1,1,23,59,59])

- +      assert_time_constructor(tz, "1994-12-30 00:00:00 -1000", :local, [1994,12,30,0,0,0])

- +      assert_time_constructor(tz, "1994-12-30 23:59:59 -1000", :local, [1994,12,30,23,59,59])

- +      if CORRECT_KIRITIMATI_SKIP_1994

- +        assert_time_constructor(tz, "1995-01-01 00:00:00 +1400", :local, [1994,12,31,0,0,0])

- +        assert_time_constructor(tz, "1995-01-01 23:59:59 +1400", :local, [1994,12,31,23,59,59])

- +        assert_time_constructor(tz, "1995-01-01 00:00:00 +1400", :local, [1995,1,1,0,0,0])

- +      else

- +        assert_time_constructor(tz, "1994-12-31 23:59:59 -1000", :local, [1994,12,31,23,59,59])

- +        assert_time_constructor(tz, "1995-01-02 00:00:00 +1400", :local, [1995,1,1,0,0,0])

- +        assert_time_constructor(tz, "1995-01-02 23:59:59 +1400", :local, [1995,1,1,23,59,59])

- +      end

-        assert_time_constructor(tz, "1995-01-02 00:00:00 +1400", :local, [1995,1,2,0,0,0])

-      }

-    end

- --

- 

- From a0e6607a8172f9eaf9a15f03065736deb2035771 Mon Sep 17 00:00:00 2001

- From: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>

- Date: Sun, 1 Apr 2018 13:16:14 +0000

- Subject: [PATCH] test_time_tz.rb: Lisbon tzdata fix

- 

- * test/ruby/test_time_tz.rb (gen_variational_zdump_test): Update

-   Lisbon zdump data, which fixed the 1912-01-01 transition for

-   Portugual and its colonies.  [Bug #14655]

- 

- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

- ---

-  test/ruby/test_time_tz.rb | 1 +

-  1 file changed, 1 insertion(+)

- 

- diff --git a/test/ruby/test_time_tz.rb b/test/ruby/test_time_tz.rb

- index ac5f81892878..b32caff9c539 100644

- --- a/test/ruby/test_time_tz.rb

- +++ b/test/ruby/test_time_tz.rb

- @@ -434,5 +434,6 @@ def self.gen_variational_zdump_test(hint, data)

-    gen_variational_zdump_test "lisbon", <<'End' if has_lisbon_tz

-  Europe/Lisbon  Mon Jan  1 00:36:31 1912 UTC = Sun Dec 31 23:59:59 1911 LMT isdst=0 gmtoff=-2192

-  Europe/Lisbon  Mon Jan  1 00:36:44 1912 UT = Sun Dec 31 23:59:59 1911 LMT isdst=0 gmtoff=-2205

- +Europe/Lisbon  Sun Dec 31 23:59:59 1911 UT = Sun Dec 31 23:23:14 1911 LMT isdst=0 gmtoff=-2205

-  End

-  end

@@ -1,203 +0,0 @@ 

- From 6fcc6c0efc42d1c6325cf4bb0ca16e2a448cdbed Mon Sep 17 00:00:00 2001

- From: Kazuki Yamaguchi <k@rhe.jp>

- Date: Mon, 6 Aug 2018 20:51:42 +0900

- Subject: [PATCH] test/test_ssl: fix test failure with TLS 1.3

- 

- SSL_connect() on the client side may return before SSL_accept() on

- server side returns. This will fix test failures with OpenSSL's current

- master.

- ---

-  test/openssl/test_ssl.rb         | 45 ++++++++++++++++++++++++++--------------

-  test/openssl/test_ssl_session.rb |  1 +

-  2 files changed, 31 insertions(+), 15 deletions(-)

- 

- diff --git a/test/openssl/test_ssl.rb b/test/openssl/test_ssl.rb

- index 7bb32adf..408c7d82 100644

- --- a/test/openssl/test_ssl.rb

- +++ b/test/openssl/test_ssl.rb

- @@ -47,6 +47,8 @@ def test_ssl_with_server_cert

-          assert_equal 2, ssl.peer_cert_chain.size

-          assert_equal @svr_cert.to_der, ssl.peer_cert_chain[0].to_der

-          assert_equal @ca_cert.to_der, ssl.peer_cert_chain[1].to_der

- +

- +        ssl.puts "abc"; assert_equal "abc\n", ssl.gets

-        ensure

-          ssl&.close

-          sock&.close

- @@ -157,6 +159,7 @@ def test_sync_close

-          sock = TCPSocket.new("127.0.0.1", port)

-          ssl = OpenSSL::SSL::SSLSocket.new(sock)

-          ssl.connect

- +        ssl.puts "abc"; assert_equal "abc\n", ssl.gets

-          ssl.close

-          assert_not_predicate sock, :closed?

-        ensure

- @@ -168,6 +171,7 @@ def test_sync_close

-          ssl = OpenSSL::SSL::SSLSocket.new(sock)

-          ssl.sync_close = true  # !!

-          ssl.connect

- +        ssl.puts "abc"; assert_equal "abc\n", ssl.gets

-          ssl.close

-          assert_predicate sock, :closed?

-        ensure

- @@ -259,7 +263,10 @@ def test_client_ca

-          client_ca_from_server = sslconn.client_ca

-          [@cli_cert, @cli_key]

-        end

- -      server_connect(port, ctx) { |ssl| assert_equal([@ca], client_ca_from_server) }

- +      server_connect(port, ctx) { |ssl|

- +        assert_equal([@ca], client_ca_from_server)

- +        ssl.puts "abc"; assert_equal "abc\n", ssl.gets

- +      }

-      }

-    end

-  

- @@ -356,21 +363,16 @@ def test_verify_result

-      }

-  

-      start_server { |port|

- -      sock = TCPSocket.new("127.0.0.1", port)

-        ctx = OpenSSL::SSL::SSLContext.new

-        ctx.verify_mode = OpenSSL::SSL::VERIFY_PEER

-        ctx.verify_callback = Proc.new do |preverify_ok, store_ctx|

-          store_ctx.error = OpenSSL::X509::V_OK

-          true

-        end

- -      ssl = OpenSSL::SSL::SSLSocket.new(sock, ctx)

- -      ssl.sync_close = true

- -      begin

- -        ssl.connect

- +      server_connect(port, ctx) { |ssl|

-          assert_equal(OpenSSL::X509::V_OK, ssl.verify_result)

- -      ensure

- -        ssl.close

- -      end

- +        ssl.puts "abc"; assert_equal "abc\n", ssl.gets

- +      }

-      }

-  

-      start_server(ignore_listener_error: true) { |port|

- @@ -455,6 +457,8 @@ def test_post_connection_check

-  

-      start_server { |port|

-        server_connect(port) { |ssl|

- +        ssl.puts "abc"; assert_equal "abc\n", ssl.gets

- +

-          assert_raise(sslerr){ssl.post_connection_check("localhost.localdomain")}

-          assert_raise(sslerr){ssl.post_connection_check("127.0.0.1")}

-          assert(ssl.post_connection_check("localhost"))

- @@ -476,6 +482,8 @@ def test_post_connection_check

-      @svr_cert = issue_cert(@svr, @svr_key, 4, exts, @ca_cert, @ca_key)

-      start_server { |port|

-        server_connect(port) { |ssl|

- +        ssl.puts "abc"; assert_equal "abc\n", ssl.gets

- +

-          assert(ssl.post_connection_check("localhost.localdomain"))

-          assert(ssl.post_connection_check("127.0.0.1"))

-          assert_raise(sslerr){ssl.post_connection_check("localhost")}

- @@ -496,6 +502,8 @@ def test_post_connection_check

-      @svr_cert = issue_cert(@svr, @svr_key, 5, exts, @ca_cert, @ca_key)

-      start_server { |port|

-        server_connect(port) { |ssl|

- +        ssl.puts "abc"; assert_equal "abc\n", ssl.gets

- +

-          assert(ssl.post_connection_check("localhost.localdomain"))

-          assert_raise(sslerr){ssl.post_connection_check("127.0.0.1")}

-          assert_raise(sslerr){ssl.post_connection_check("localhost")}

- @@ -722,6 +730,8 @@ def test_tlsext_hostname

-          ssl.connect

-          assert_equal @cli_cert.serial, ssl.peer_cert.serial

-          assert_predicate fooctx, :frozen?

- +

- +        ssl.puts "abc"; assert_equal "abc\n", ssl.gets

-        ensure

-          ssl&.close

-          sock.close

- @@ -733,6 +743,8 @@ def test_tlsext_hostname

-          ssl.hostname = "bar.example.com"

-          ssl.connect

-          assert_equal @svr_cert.serial, ssl.peer_cert.serial

- +

- +        ssl.puts "abc"; assert_equal "abc\n", ssl.gets

-        ensure

-          ssl&.close

-          sock.close

- @@ -805,7 +817,8 @@ def test_verify_hostname_on_connect

-            ssl = OpenSSL::SSL::SSLSocket.new(sock, ctx)

-            ssl.hostname = name

-            if expected_ok

- -            assert_nothing_raised { ssl.connect }

- +            ssl.connect

- +            ssl.puts "abc"; assert_equal "abc\n", ssl.gets

-            else

-              assert_handshake_error { ssl.connect }

-            end

- @@ -1086,6 +1099,7 @@ def test_renegotiation_cb

-      start_server_version(:SSLv23, ctx_proc) { |port|

-        server_connect(port) { |ssl|

-          assert_equal(1, num_handshakes)

- +        ssl.puts "abc"; assert_equal "abc\n", ssl.gets

-        }

-      }

-    end

- @@ -1104,6 +1118,7 @@ def test_alpn_protocol_selection_ary

-        ctx.alpn_protocols = advertised

-        server_connect(port, ctx) { |ssl|

-          assert_equal(advertised.first, ssl.alpn_protocol)

- +        ssl.puts "abc"; assert_equal "abc\n", ssl.gets

-        }

-      }

-    end

- @@ -1226,14 +1241,11 @@ def test_npn_selected_protocol_too_long

-    end

-  

-    def test_close_after_socket_close

- -    server_proc = proc { |ctx, ssl|

- -      # Do nothing

- -    }

- -    start_server(server_proc: server_proc) { |port|

- +    start_server { |port|

-        sock = TCPSocket.new("127.0.0.1", port)

-        ssl = OpenSSL::SSL::SSLSocket.new(sock)

- -      ssl.sync_close = true

-        ssl.connect

- +      ssl.puts "abc"; assert_equal "abc\n", ssl.gets

-        sock.close

-        assert_nothing_raised do

-          ssl.close

- @@ -1298,6 +1310,7 @@ def test_get_ephemeral_key

-          ctx.ciphers = "DEFAULT:!kRSA:!kEDH"

-          server_connect(port, ctx) { |ssl|

-            assert_instance_of OpenSSL::PKey::EC, ssl.tmp_key

- +          ssl.puts "abc"; assert_equal "abc\n", ssl.gets

-          }

-        end

-      end

- @@ -1440,6 +1453,7 @@ def test_ecdh_curves

-              assert_equal "secp384r1", ssl.tmp_key.group.curve_name

-            end

-          end

- +        ssl.puts "abc"; assert_equal "abc\n", ssl.gets

-        }

-  

-        if openssl?(1, 0, 2) || libressl?(2, 5, 1)

- @@ -1455,6 +1469,7 @@ def test_ecdh_curves

-  

-          server_connect(port, ctx) { |ssl|

-            assert_equal "secp521r1", ssl.tmp_key.group.curve_name

- +          ssl.puts "abc"; assert_equal "abc\n", ssl.gets

-          }

-        end

-      end

- diff --git a/test/openssl/test_ssl_session.rb b/test/openssl/test_ssl_session.rb

- index 6db0c2d1..78b160ed 100644

- --- a/test/openssl/test_ssl_session.rb

- +++ b/test/openssl/test_ssl_session.rb

- @@ -113,6 +113,7 @@ def test_resumption

-      non_resumable = nil

-      start_server { |port|

-        server_connect_with_session(port, nil, nil) { |ssl|

- +        ssl.puts "abc"; assert_equal "abc\n", ssl.gets

-          non_resumable = ssl.session

-        }

-      }

@@ -27,7 +27,7 @@ 

   

   AC_DEFUN([RUBY_RM_RECURSIVE], [

   m4_version_prereq([2.70], [-1], [

- @@ -2938,13 +2939,11 @@ AS_IF([test x"$enable_pthread" = xyes], [

+ @@ -2939,13 +2940,11 @@ AS_IF([test x"$enable_pthread" = xyes], [

   	AC_DEFINE(_THREAD_SAFE)

   	AC_DEFINE(HAVE_LIBPTHREAD)

   	AC_CHECK_HEADERS(pthread_np.h, [], [], [@%:@include <pthread.h>])
@@ -46,7 +46,7 @@ 

       ], [

   	AC_MSG_WARN("Don't know how to find pthread library on your system -- thread support disabled")

       ])

- @@ -3623,7 +3622,7 @@ LIBRUBY_A='lib$(RUBY_SO_NAME)-static.a'

+ @@ -3624,7 +3623,7 @@ LIBRUBY_A='lib$(RUBY_SO_NAME)-static.a'

   LIBRUBY='$(LIBRUBY_A)'

   LIBRUBYARG_STATIC='-l$(RUBY_SO_NAME)-static'

   LIBRUBYARG='$(LIBRUBYARG_STATIC)'
@@ -55,7 +55,7 @@ 

   

   AS_CASE(["$target_os"],

     [cygwin*|mingw*|haiku*|darwin*], [

- @@ -3689,9 +3688,6 @@ AS_CASE("$enable_shared", [yes], [

+ @@ -3690,9 +3689,6 @@ AS_CASE("$enable_shared", [yes], [

     LIBRUBY_RELATIVE=no

     test -z "$CCDLFLAGS" || CFLAGS="$CFLAGS $CCDLFLAGS"

     ENABLE_SHARED=yes
@@ -65,7 +65,7 @@ 

   

     # libdir can be overridden in config.site file (on OpenSUSE at least).

     libdir_basename=lib

- @@ -3726,7 +3722,6 @@ AS_CASE("$enable_shared", [yes], [

+ @@ -3727,7 +3723,6 @@ AS_CASE("$enable_shared", [yes], [

   	])

   	],

       [freebsd*|dragonfly*], [
@@ -73,7 +73,7 @@ 

   	LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR)$(MINOR)'

   	LIBRUBY_SONAME='$(LIBRUBY_SO)'

   	AS_IF([test "$rb_cv_binary_elf" != "yes" ], [

- @@ -3735,7 +3730,6 @@ AS_CASE("$enable_shared", [yes], [

+ @@ -3736,7 +3731,6 @@ AS_CASE("$enable_shared", [yes], [

   	])

   	],

       [netbsd*], [
@@ -81,7 +81,7 @@ 

   	LIBRUBY_SONAME='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR)$(MINOR)'

   	LIBRUBY_SO="${LIBRUBY_SONAME}"'.$(TEENY)'

   	RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS, ['-Wl,-soname,$(LIBRUBY_SONAME)' "$LDFLAGS_OPTDIR"])

- @@ -3746,11 +3740,9 @@ AS_CASE("$enable_shared", [yes], [

+ @@ -3747,11 +3741,9 @@ AS_CASE("$enable_shared", [yes], [

   	])

   	],

       [openbsd*|mirbsd*], [
@@ -93,7 +93,7 @@ 

   	LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT).$(MAJOR)'

   	LIBRUBY_SONAME='lib$(RUBY_SO_NAME).$(SOEXT).$(RUBY_PROGRAM_VERSION)'

   	LIBRUBY_ALIASES='$(LIBRUBY_SONAME) lib$(RUBY_SO_NAME).$(SOEXT)'

- @@ -3768,7 +3760,7 @@ AS_CASE("$enable_shared", [yes], [

+ @@ -3769,7 +3761,7 @@ AS_CASE("$enable_shared", [yes], [

       [aix*], [

   	RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS, ["${linker_flag}-bnoentry" "$XLDFLAGS" "$LDFLAGS_OPTDIR"])

   	LIBRUBYARG_SHARED='-L${libdir} -l${RUBY_SO_NAME}'
@@ -102,7 +102,7 @@ 

   	],

       [darwin*], [

   	LIBRUBY_LDSHARED='$(CC) -dynamiclib'

- @@ -3788,7 +3780,6 @@ AS_CASE("$enable_shared", [yes], [

+ @@ -3789,7 +3781,6 @@ AS_CASE("$enable_shared", [yes], [

   	LIBRUBY_SO='lib$(RUBY_SO_NAME).$(SOEXT)'

   	LIBRUBY_SONAME='lib$(RUBY_BASE_NAME).$(RUBY_API_VERSION).$(SOEXT)'

   	LIBRUBY_ALIASES='$(LIBRUBY_SONAME) lib$(RUBY_INSTALL_NAME).$(SOEXT)'
@@ -110,7 +110,7 @@ 

   	],

       [interix*], [

   	LIBRUBYARG_SHARED='-L. -L${libdir} -l$(RUBY_SO_NAME)'

- @@ -4031,7 +4022,6 @@ AS_CASE(["$target_os"],

+ @@ -4032,7 +4023,6 @@ AS_CASE(["$target_os"],

   	    ])

   	LIBRUBY_ALIASES=''

   	FIRSTMAKEFILE=GNUmakefile:cygwin/GNUmakefile.in
@@ -118,7 +118,7 @@ 

   	AS_IF([test x"$enable_shared" = xyes], [

   	    LIBRUBY='lib$(RUBY_SO_NAME).dll.a'

   	], [

- @@ -4131,6 +4121,13 @@ AS_IF([test "${universal_binary-no}" = yes ], [

+ @@ -4132,6 +4122,13 @@ AS_IF([test "${universal_binary-no}" = yes ], [

   		[rb_cv_architecture_available=yes], [rb_cv_architecture_available=no]))

   ])

   

@@ -1,157 +0,0 @@ 

- From 1dfc377ae3b174b043d3f0ed36de57b0296b34d0 Mon Sep 17 00:00:00 2001

- From: rhe <rhe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>

- Date: Wed, 8 Aug 2018 14:13:55 +0000

- Subject: [PATCH] net/http, net/ftp: fix session resumption with TLS 1.3

- 

- When TLS 1.3 is in use, the session ticket may not have been sent yet

- even though a handshake has finished. Also, the ticket could change if

- multiple session ticket messages are sent by the server. Use

- SSLContext#session_new_cb instead of calling SSLSocket#session

- immediately after a handshake. This way also works with earlier protocol

- versions.

- 

- git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

- ---

-  lib/net/ftp.rb              |  5 ++++-

-  lib/net/http.rb             |  7 +++++--

-  test/net/http/test_https.rb | 35 ++++++++++-------------------------

-  3 files changed, 19 insertions(+), 28 deletions(-)

- 

- diff --git a/lib/net/ftp.rb b/lib/net/ftp.rb

- index c3ee47ef4d36..9902f9dc657a 100644

- --- a/lib/net/ftp.rb

- +++ b/lib/net/ftp.rb

- @@ -230,6 +230,10 @@ def initialize(host = nil, user_or_options = {}, passwd = nil, acct = nil)

-          if defined?(VerifyCallbackProc)

-            @ssl_context.verify_callback = VerifyCallbackProc

-          end

- +        @ssl_context.session_cache_mode =

- +          OpenSSL::SSL::SSLContext::SESSION_CACHE_CLIENT |

- +          OpenSSL::SSL::SSLContext::SESSION_CACHE_NO_INTERNAL_STORE

- +        @ssl_context.session_new_cb = proc {|sock, sess| @ssl_session = sess }

-          @ssl_session = nil

-          if options[:private_data_connection].nil?

-            @private_data_connection = true

- @@ -349,7 +353,6 @@ def start_tls_session(sock)

-        if @ssl_context.verify_mode != VERIFY_NONE

-          ssl_sock.post_connection_check(@host)

-        end

- -      @ssl_session = ssl_sock.session

-        return ssl_sock

-      end

-      private :start_tls_session

- diff --git a/lib/net/http.rb b/lib/net/http.rb

- index 281b15cedff0..683a884f5dbe 100644

- --- a/lib/net/http.rb

- +++ b/lib/net/http.rb

- @@ -983,6 +983,10 @@ def connect

-          end

-          @ssl_context = OpenSSL::SSL::SSLContext.new

-          @ssl_context.set_params(ssl_parameters)

- +        @ssl_context.session_cache_mode =

- +          OpenSSL::SSL::SSLContext::SESSION_CACHE_CLIENT |

- +          OpenSSL::SSL::SSLContext::SESSION_CACHE_NO_INTERNAL_STORE

- +        @ssl_context.session_new_cb = proc {|sock, sess| @ssl_session = sess }

-          D "starting SSL for #{conn_address}:#{conn_port}..."

-          s = OpenSSL::SSL::SSLSocket.new(s, @ssl_context)

-          s.sync_close = true

- @@ -990,13 +994,12 @@ def connect

-          s.hostname = @address if s.respond_to? :hostname=

-          if @ssl_session and

-             Process.clock_gettime(Process::CLOCK_REALTIME) < @ssl_session.time.to_f + @ssl_session.timeout

- -          s.session = @ssl_session if @ssl_session

- +          s.session = @ssl_session

-          end

-          ssl_socket_connect(s, @open_timeout)

-          if @ssl_context.verify_mode != OpenSSL::SSL::VERIFY_NONE

-            s.post_connection_check(@address)

-          end

- -        @ssl_session = s.session

-          D "SSL established"

-        end

-        @socket = BufferedIO.new(s, read_timeout: @read_timeout,

- diff --git a/test/net/http/test_https.rb b/test/net/http/test_https.rb

- index 8004d5c5f29f..a5182a1fe9db 100644

- --- a/test/net/http/test_https.rb

- +++ b/test/net/http/test_https.rb

- @@ -71,20 +71,11 @@ def test_session_reuse

-      http.get("/")

-      http.finish

-  

- -    http.start

- -    http.get("/")

- -    http.finish # three times due to possible bug in OpenSSL 0.9.8

- -

- -    sid = http.instance_variable_get(:@ssl_session).id

- -

-      http.start

-      http.get("/")

-  

-      socket = http.instance_variable_get(:@socket).io

- -

- -    assert socket.session_reused?

- -

- -    assert_equal sid, http.instance_variable_get(:@ssl_session).id

- +    assert_equal true, socket.session_reused?

-  

-      http.finish

-    rescue SystemCallError

- @@ -101,16 +92,12 @@ def test_session_reuse_but_expire

-      http.get("/")

-      http.finish

-  

- -    sid = http.instance_variable_get(:@ssl_session).id

- -

-      http.start

-      http.get("/")

-  

-      socket = http.instance_variable_get(:@socket).io

-      assert_equal false, socket.session_reused?

-  

- -    assert_not_equal sid, http.instance_variable_get(:@ssl_session).id

- -

-      http.finish

-    rescue SystemCallError

-      skip $!

- @@ -160,15 +147,16 @@ def test_certificate_verify_failure

-    end

-  

-    def test_identity_verify_failure

- +    # the certificate's subject has CN=localhost

-      http = Net::HTTP.new("127.0.0.1", config("port"))

-      http.use_ssl = true

- -    http.verify_callback = Proc.new do |preverify_ok, store_ctx|

- -      true

- -    end

- +    http.cert_store = TEST_STORE

- +    @log_tester = lambda {|_| }

-      ex = assert_raise(OpenSSL::SSL::SSLError){

-        http.request_get("/") {|res| }

-      }

- -    assert_match(/hostname \"127.0.0.1\" does not match/, ex.message)

- +    re_msg = /certificate verify failed|hostname \"127.0.0.1\" does not match/

- +    assert_match(re_msg, ex.message)

-    end

-  

-    def test_timeout_during_SSL_handshake

- @@ -193,16 +181,13 @@ def test_timeout_during_SSL_handshake

-    end

-  

-    def test_min_version

- -    http = Net::HTTP.new("127.0.0.1", config("port"))

- +    http = Net::HTTP.new("localhost", config("port"))

-      http.use_ssl = true

-      http.min_version = :TLS1

- -    http.verify_callback = Proc.new do |preverify_ok, store_ctx|

- -      true

- -    end

- -    ex = assert_raise(OpenSSL::SSL::SSLError){

- -      http.request_get("/") {|res| }

- +    http.cert_store = TEST_STORE

- +    http.request_get("/") {|res|

- +      assert_equal($test_net_http_data, res.body)

-      }

- -    assert_match(/hostname \"127.0.0.1\" does not match/, ex.message)

-    end

-  

-    def test_max_version

file modified
+20 -21
@@ -1,6 +1,6 @@ 

  %global major_version 2

  %global minor_version 5

- %global teeny_version 1

+ %global teeny_version 7

  %global major_minor_version %{major_version}.%{minor_version}

  

  %global ruby_version %{major_minor_version}.%{teeny_version}
@@ -21,15 +21,15 @@ 

  %endif

  

  

- %global release 98

+ %global release 102

  %{!?release_string:%global release_string %{?development_release:0.}%{release}%{?development_release:.%{development_release}}%{?dist}}

  

- # The RubyGems library has to stay out of Ruby directory three, since the

+ # The RubyGems library has to stay out of Ruby directory tree, since the

  # RubyGems should be share by all Ruby implementations.

  %global rubygems_dir %{_datadir}/rubygems

  

  # Bundled libraries versions

- %global rubygems_version 2.7.6

+ %global rubygems_version 2.7.6.2

  %global molinillo_version 0.5.7

  

  # TODO: The IRB has strange versioning. Keep the Ruby's versioning ATM.
@@ -42,11 +42,11 @@ 

  %global json_version 2.1.0

  %global minitest_version 5.10.3

  %global net_telnet_version 0.1.1

- %global openssl_version 2.1.0

+ %global openssl_version 2.1.2

  %global power_assert_version 1.1.1

  %global psych_version 3.0.2

  %global rake_version 12.3.0

- %global rdoc_version 6.0.1

+ %global rdoc_version 6.0.1.1

  %global test_unit_version 3.2.7

  %global xmlrpc_version 0.3.0

  
@@ -82,7 +82,7 @@ 

  # UCD: some of enc/trans/**/*.src

  License: (Ruby or BSD) and Public Domain and MIT and CC0 and zlib and UCD

  URL: http://ruby-lang.org/

- Source0: ftp://ftp.ruby-lang.org/pub/%{name}/%{major_minor_version}/%{ruby_archive}.tar.xz

+ Source0: https://cache.ruby-lang.org/pub/%{name}/%{major_minor_version}/%{ruby_archive}.tar.xz

  Source1: operating_system.rb

  # TODO: Try to push SystemTap support upstream.

  Source2: libruby.stp
@@ -136,22 +136,12 @@ 

  # Add Gem.operating_system_defaults to allow packagers to override defaults.

  # https://github.com/rubygems/rubygems/pull/2116

  Patch10: ruby-2.5.0-Add-Gem.operating_system_defaults.patch

- # TestTimeTZ test failures Kiritimati and Lisbon

- # https://bugs.ruby-lang.org/issues/14655

- Patch11: ruby-2.5.1-TestTimeTZ-test-failures-Kiritimati-and-Lisbon.patch

  # Don't force libraries used to build Ruby to its dependencies.

  # https://bugs.ruby-lang.org/issues/14422

  Patch15: ruby-2.6.0-library-options-to-MAINLIBS.patch

  # Do not require C++ compiler.

  # https://github.com/rubygems/rubygems/pull/2367

  Patch16: ruby-2.5.1-Avoid-need-of-C++-compiler-to-pass-the-test-suite.patch

- # Fix some OpenSSL 1.1.1 test failures.

- # https://github.com/ruby/openssl/pull/202

- Patch17: ruby-2.5.1-Test-fixes-for-OpenSSL-1.1.1.patch

- # https://github.com/ruby/openssl/pull/209

- Patch18: ruby-2.6.0-fix-test-failure-with-TLS-1.3.patch

- # https://github.com/ruby/ruby/commit/1dfc377ae3b174b043d3f0ed36de57b0296b34d0

- Patch19: ruby-2.6.0-net-http-net-ftp-fix-session-resumption-with-TLS-1.3.patch

  

  Requires: %{name}-libs%{?_isa} = %{version}-%{release}

  Suggests: rubypick
@@ -534,12 +524,8 @@ 

  %patch7 -p1

  %patch9 -p1

  %patch10 -p1

- %patch11 -p1

  %patch15 -p1

  %patch16 -p1

- %patch17 -p1

- %patch18 -p1

- %patch19 -p1

  

  # Provide an example of usage of the tapset:

  cp -a %{SOURCE3} .
@@ -1089,6 +1075,19 @@ 

  %{gem_dir}/specifications/xmlrpc-%{xmlrpc_version}.gemspec

  

  %changelog

+ * Wed Oct 09 2019 Pavel Valena <pvalena@redhat.com> - 2.6.5-102

+ - Update to Ruby 2.5.7.

+ 

+ * Thu Apr 04 2019 Pavel Valena <pvalena@redhat.com> - 2.5.5-101

+ - Update to Ruby 2.5.5.

+ 

+ * Fri Jan 11 2019 Jun Aruga <jaruga@redhat.com> - 2.5.3-100

+ - Fix Tokyo TZ tests.

+ - Refresh expired certificates to fix FTBFS.

+ 

+ * Fri Oct 19 2018 Jun Aruga <jaruga@redhat.com> - 2.5.3-99

+ - Update to Ruby 2.5.3.

+ 

  * Mon Aug 13 2018 Vít Ondruch <vondruch@redhat.com> - 2.5.1-98

  - Properly execute entire test suite.

  

file modified
+1 -1
@@ -1,1 +1,1 @@ 

- SHA512 (ruby-2.5.1.tar.xz) = 31bacf58469953282cd5d8b51862dcf4b84dedb927c1871bc3fca32fc157fe49187631575a70838705fe246f4555647577a7ecc26894445a7d64de5503dc11b4

+ SHA512 (ruby-2.5.7.tar.xz) = 63b7c75fab44cd1bd22f22ddec00c740cf379ac7240da0dfafcec54347766695faef47428ce1c433fd77fa96992e976c984697067fa526236d383b12adc9ce75