Hello community,

here is the log from the commit of package rubygem-httpclient for 
openSUSE:Factory checked in at 2016-09-12 13:26:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-httpclient (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-httpclient.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-httpclient"

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-httpclient/rubygem-httpclient.changes    
2016-08-25 09:55:02.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.rubygem-httpclient.new/rubygem-httpclient.changes   
    2016-09-12 13:26:23.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Aug 16 04:30:08 UTC 2016 - [email protected]
+
+- updated to version 2.8.2.1
+  no changelog found
+
+-------------------------------------------------------------------

Old:
----
  httpclient-2.8.1.gem

New:
----
  httpclient-2.8.2.1.gem

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

Other differences:
------------------
++++++ rubygem-httpclient.spec ++++++
--- /var/tmp/diff_new_pack.YNGBW0/_old  2016-09-12 13:26:24.000000000 +0200
+++ /var/tmp/diff_new_pack.YNGBW0/_new  2016-09-12 13:26:24.000000000 +0200
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-httpclient
-Version:        2.8.1
+Version:        2.8.2.1
 Release:        0
 %define mod_name httpclient
 %define mod_full_name %{mod_name}-%{version}

++++++ httpclient-2.8.1.gem -> httpclient-2.8.2.1.gem ++++++
Files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/httpclient/jruby_ssl_socket.rb 
new/lib/httpclient/jruby_ssl_socket.rb
--- old/lib/httpclient/jruby_ssl_socket.rb      2016-08-07 09:30:27.000000000 
+0200
+++ new/lib/httpclient/jruby_ssl_socket.rb      2016-08-16 04:30:22.000000000 
+0200
@@ -316,6 +316,7 @@
         return if cert_source == :default
         if cert_source.respond_to?(:to_pem)
           pem = cert_source.to_pem
+          load_pem(pem)
         elsif File.directory?(cert_source)
           warn("#{cert_source}: directory not yet supported")
           return
@@ -326,7 +327,8 @@
             when /-----BEGIN CERTIFICATE-----/
               pem = ''
             when /-----END CERTIFICATE-----/
-              break
+              load_pem(pem)
+              # keep parsing in case where multiple certificates in a file
             else
               if pem
                 pem << line
@@ -334,9 +336,6 @@
             end
           end
         end
-        cert = PEMUtils.read_certificate(pem)
-        @size += 1
-        @trust_store.setCertificateEntry("cert_#{@size}", cert)
       end
 
       def trust_store
@@ -346,6 +345,14 @@
           @trust_store
         end
       end
+
+    private
+
+      def load_pem(pem)
+        cert = PEMUtils.read_certificate(pem)
+        @size += 1
+        @trust_store.setCertificateEntry("cert_#{@size}", cert)
+      end
     end
 
     # Ported from commons-httpclient 'BrowserCompatHostnameVerifier'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/httpclient/session.rb 
new/lib/httpclient/session.rb
--- old/lib/httpclient/session.rb       2016-08-07 09:30:27.000000000 +0200
+++ new/lib/httpclient/session.rb       2016-08-16 04:30:22.000000000 +0200
@@ -21,7 +21,7 @@
 require 'httpclient/timeout' # TODO: remove this once we drop 1.8 support
 require 'httpclient/ssl_config'
 require 'httpclient/http'
-if defined?(JRuby)
+if RUBY_ENGINE == 'jruby'
   require 'httpclient/jruby_ssl_socket'
 else
   require 'httpclient/ssl_socket'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/httpclient/ssl_config.rb 
new/lib/httpclient/ssl_config.rb
--- old/lib/httpclient/ssl_config.rb    2016-08-07 09:30:27.000000000 +0200
+++ new/lib/httpclient/ssl_config.rb    2016-08-16 04:30:22.000000000 +0200
@@ -39,21 +39,27 @@
     if SSLEnabled
       include OpenSSL
 
-      module ::OpenSSL
-        module X509
-          class Store
-            attr_reader :_httpclient_cert_store_items
-
-            def initialize(*a, &b)
-              super(*a, &b)
-              @_httpclient_cert_store_items = [ENV['SSL_CERT_FILE'] || 
:default]
-            end
+      if RUBY_ENGINE == 'jruby'
+        module ::OpenSSL
+          module X509
+            class Store
+              attr_reader :_httpclient_cert_store_items
+
+              # TODO: use prepend instead when we drop JRuby + 1.9.x support
+              wrapped = {}
+
+              wrapped[:initialize] = instance_method(:initialize)
+              define_method(:initialize) do |*args|
+                wrapped[:initialize].bind(self).call(*args)
+                @_httpclient_cert_store_items = [ENV['SSL_CERT_FILE'] || 
:default]
+              end
 
-            [:add_cert, :add_file, :add_path].each do |m|
-              wrapped = instance_method(m)
-              define_method(m) do |cert|
-                wrapped.bind(self).call(cert)
-                @_httpclient_cert_store_items << cert
+              [:add_cert, :add_file, :add_path].each do |m|
+                wrapped[m] = instance_method(m)
+                define_method(m) do |cert|
+                  wrapped[m].bind(self).call(cert)
+                  @_httpclient_cert_store_items << cert
+                end
               end
             end
           end
@@ -112,7 +118,7 @@
     attr_reader :client_ca # :nodoc:
 
     # These array keeps original files/dirs that was added to @cert_store
-    def cert_store_items; @cert_store._httpclient_cert_store_items; end
+    def cert_store_items; @cert_store._httpclient_cert_store_items || []; end
     attr_reader :cert_store_crl_items
 
     # Creates a SSLConfig.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/httpclient/version.rb 
new/lib/httpclient/version.rb
--- old/lib/httpclient/version.rb       2016-08-07 09:30:27.000000000 +0200
+++ new/lib/httpclient/version.rb       2016-08-16 04:30:22.000000000 +0200
@@ -1,3 +1,3 @@
 class HTTPClient
-  VERSION = '2.8.1'
+  VERSION = '2.8.2.1'
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2016-08-07 09:30:27.000000000 +0200
+++ new/metadata        2016-08-16 04:30:22.000000000 +0200
@@ -1,14 +1,14 @@
 --- !ruby/object:Gem::Specification
 name: httpclient
 version: !ruby/object:Gem::Version
-  version: 2.8.1
+  version: 2.8.2.1
 platform: ruby
 authors:
 - Hiroshi Nakamura
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2016-08-07 00:00:00.000000000 Z
+date: 2016-08-16 00:00:00.000000000 Z
 dependencies: []
 description: 
 email: [email protected]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/test/test_ssl.rb new/test/test_ssl.rb
--- old/test/test_ssl.rb        2016-08-07 09:30:27.000000000 +0200
+++ new/test/test_ssl.rb        2016-08-16 04:30:22.000000000 +0200
@@ -80,6 +80,16 @@
     assert(str.scan(/^hello$/)[0])
   end
 
+  def test_verification_without_httpclient
+    raw_cert = "-----BEGIN 
CERTIFICATE-----\nMIIDOTCCAiGgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBCMRMwEQYKCZImiZPyLGQB\nGRYDb3JnMRkwFwYKCZImiZPyLGQBGRYJcnVieS1sYW5nMRAwDgYDVQQDDAdSdWJ5\nIENBMB4XDTE2MDgxMDE3MjEzNFoXDTE3MDgxMDE3MjEzNFowSzETMBEGCgmSJomT\n8ixkARkWA29yZzEZMBcGCgmSJomT8ixkARkWCXJ1YnktbGFuZzEZMBcGA1UEAwwQ\nUnVieSBjZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB\nAJCfsSXpSMpmZCVa+ZCM+QDgomnhDlvnrGDq6pasTaIspGTXgws+7r8Dt/cNe6EH\nHJpRH2cGRiO4yPcfcT9eS4X7k8OC4f33wHfACOmLu6LeoNE8ujmSk6L6WzLUI+sE\nnLZbFrXxoAo4XHsm8vEG9C+jEoXZ1p+47wrAGaDwDQTnzlMy4dT9pRQEJP2G/Rry\nUkuZn8SUWmh3/YS78iaSzsNF1cgE1ealHOrPPFDjiCGDaH/LHyUPYlbFSLZ/B7Qx\nLxi5sePLcywWq/EJrmWpgeVTDjtNijsdKv/A3qkY+fm/oD0pzt7XsfJaP9YKNyJO\nQFdxWZeiPcDF+Hwf+IwSr+kCAwEAAaMxMC8wDgYDVR0PAQH/BAQDAgeAMB0GA1Ud\nDgQWBBQNvzYzJyXemGhxbA8NMXLolDnPyjANBgkqhkiG9w0BAQsFAAOCAQEARIJV\noKejGlOTn71QutnNnu07UtTu0IHs6YqjYzzND+m4JXLN+wvYm72AFUG0b1L7dRg0\niK8XjQrlNQNVqP1Mc6tffchy20neOPOHeiO6qTdRU8P2S8D3Uwe+1qhgxjfE+cWc\nwZmWxYK4HA8c58PxWMqrkr2QqXDplG9KWLvOgrtPGiLLZcQSKhvvB63QzItHBDU6\nRayiJY3oPkK/HrIvFlySqFqzWmuyknkciOFywEHQMz/tcSFJ2QFpPj/tBz9VXohH\nZ8KscmfhZrTPBjo+ky1lz/WraWoz4LMiLnkC2ABczWLRSawu+v3Irx1NFJngt05e\npqwtqIUeg7j+JLiTaA==\n-----END
 CERTIFICATE-----"
+    raw_ca_cert = "-----BEGIN 
CERTIFICATE-----\nMIIDYjCCAkqgAwIBAgIBATANBgkqhkiG9w0BAQsFADBCMRMwEQYKCZImiZPyLGQB\nGRYDb3JnMRkwFwYKCZImiZPyLGQBGRYJcnVieS1sYW5nMRAwDgYDVQQDDAdSdWJ5\nIENBMB4XDTE2MDgxMDE3MjA1NFoXDTE4MDgxMDE3MjA1NFowQjETMBEGCgmSJomT\n8ixkARkWA29yZzEZMBcGCgmSJomT8ixkARkWCXJ1YnktbGFuZzEQMA4GA1UEAwwH\nUnVieSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALKGwyM3Ejtl\npo7CqaDlS71gDZn3gm6IwWpmRMLJofSI9LCwAbjijSC2HvO0xUWoYW40FbzjnnEi\ngszsWyPwuQIx9t0bhuAyllNIfImmkaQkrikXKBKzia4jPnbc4iXPnfjuThjESFWl\ntfbN6y1B5TjKhD1KelfakUO+iMu8WlIA9NKQZYfJ/F3QSpP5Iqb3KN/jVifFbDV8\nbAl3Ln4rT2kTCKrZZcl1jmWsJv8jBw6+P7hk0/Mu0JeHAITsjbNbpHd8UXpCfbVs\nsNGZrBU4uJdZ2YTG+Y27/t25jFNQwb+TWbvig7rfdX2sjssuxa00BBxarC08tIVj\nZprM37KcNn8CAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC\nAQYwHQYDVR0OBBYEFA2/NjMnJd6YaHFsDw0xcuiUOc/KMB8GA1UdIwQYMBYEFA2/\nNjMnJd6YaHFsDw0xcuiUOc/KMA0GCSqGSIb3DQEBCwUAA4IBAQAJSOw49XqvUll0\n3vU9EAO6yUdeZSsQENIfYbRMQgapbnN1vTyrUjPZkGC5hIE1pVdoHtEoUEICxIwy\nr6BKxiSLBDLp+rvIuDdzMkXIWdUVvTZguVRyKtM2gfnpsPLpVnv+stBmAW2SMyxm\nkymhOpkjdv3He+45uorB3tdfBS9VVomDEUJdg38UE1b5eXRQ3D6gG0iCPFzKszXg\nLoAYhGxtjCJaKlbzduMK0YO6aelgW1+XnVIKcA7DJ9egk5d/dFZBPFfwumwr9hTH\nh7/fp3Fr87weI+CkfmFyJZrsEBlXJBVuvPesMVHTh3Whm5kmCdWcBJU0QmSq42ZL\n72U0PXLR\n-----END
 CERTIFICATE-----"
+    ca_cert = ::OpenSSL::X509::Certificate.new(raw_ca_cert)
+    cert = ::OpenSSL::X509::Certificate.new(raw_cert)
+    store = ::OpenSSL::X509::Store.new
+    store.add_cert(ca_cert)
+    assert(store.verify(cert))
+  end
+
   def test_verification
     cfg = @client.ssl_config
     cfg.verify_callback = method(:verify_callback).to_proc
@@ -217,18 +227,14 @@
   end
 end
 
-  # SSL_CERT_FILE does not work with recent jruby-openssl.
-  # You should not depend on SSL_CERT_FILE on JRuby
-  if !defined?(JRUBY_VERSION)
-    def test_set_default_paths
-      assert_raise(OpenSSL::SSL::SSLError) do
-        @client.get(@url)
-      end
-      escape_env do
-        ENV['SSL_CERT_FILE'] = File.join(DIR, 'ca-chain.pem')
-        @client.ssl_config.set_default_paths
-        @client.get(@url)
-      end
+  def test_set_default_paths
+    assert_raise(OpenSSL::SSL::SSLError) do
+      @client.get(@url)
+    end
+    escape_env do
+      ENV['SSL_CERT_FILE'] = File.join(DIR, 'ca-chain.pem')
+      @client.ssl_config.set_default_paths
+      @client.get(@url)
     end
   end
 


Reply via email to