Hello community, here is the log from the commit of package rubygem-stomp for openSUSE:Factory checked in at 2019-01-21 10:54:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-stomp (Old) and /work/SRC/openSUSE:Factory/.rubygem-stomp.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-stomp" Mon Jan 21 10:54:26 2019 rev:5 rq:666104 version:1.4.8 Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-stomp/rubygem-stomp.changes 2018-11-26 10:36:33.176589068 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-stomp.new.28833/rubygem-stomp.changes 2019-01-21 10:54:48.987695224 +0100 @@ -1,0 +2,24 @@ +Mon Jan 14 13:59:23 UTC 2019 - Stephan Kulow <co...@suse.com> + +- updated to version 1.4.8 + see installed CHANGELOG.md + + ## 1.4.8 20181219 + + * Fix missed merge from 1.4.7 release. + * Add global debug output flag to all unit tests. + +------------------------------------------------------------------- +Wed Dec 19 07:16:49 UTC 2018 - Stephan Kulow <co...@suse.com> + +- updated to version 1.4.7 + see installed CHANGELOG.md + + ## 1.4.7 20181210 + + * Support SSL cert/key in text format. + * Test adjustments for Artemis + * Correct missing variable name + * Fix Ruby 2.6 test indentation warning + +------------------------------------------------------------------- Old: ---- stomp-1.4.6.gem New: ---- stomp-1.4.8.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-stomp.spec ++++++ --- /var/tmp/diff_new_pack.dFvPSZ/_old 2019-01-21 10:54:49.687694381 +0100 +++ /var/tmp/diff_new_pack.dFvPSZ/_new 2019-01-21 10:54:49.691694376 +0100 @@ -1,7 +1,7 @@ # # spec file for package rubygem-stomp # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,7 +24,7 @@ # Name: rubygem-stomp -Version: 1.4.6 +Version: 1.4.8 Release: 0 %define mod_name stomp %define mod_full_name %{mod_name}-%{version} @@ -42,8 +42,7 @@ PreReq: update-alternatives %description -Ruby client for the Stomp messaging protocol. Note that this gem is no longer -supported on rubyforge. +Ruby client for the Stomp messaging protocol. %prep ++++++ stomp-1.4.6.gem -> stomp-1.4.8.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CHANGELOG.md new/CHANGELOG.md --- old/CHANGELOG.md 2018-11-05 17:06:09.000000000 +0100 +++ new/CHANGELOG.md 2018-12-19 16:44:53.000000000 +0100 @@ -1,5 +1,17 @@ # Stomp Gem Change Log +## 1.4.8 20181219 + +* Fix missed merge from 1.4.7 release. +* Add global debug output flag to all unit tests. + +## 1.4.7 20181210 + +* Support SSL cert/key in text format. +* Test adjustments for Artemis +* Correct missing variable name +* Fix Ruby 2.6 test indentation warning + ## 1.4.6 20181105 * Fix broken JRuby support. Issue #153. @@ -31,7 +43,7 @@ ## 1.4.3 20160821 -* Quick fix of install failures. Do not try to use install 1.4.2. +* Quick fix of install failures. Do not try to install 1.4.2. ## 1.4.2 20160820 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/README.md new/README.md --- old/README.md 2018-11-05 17:06:10.000000000 +0100 +++ new/README.md 2018-12-19 16:44:53.000000000 +0100 @@ -94,6 +94,8 @@ See _CHANGELOG.rdoc_ for details. +* Gem version 1.4.8. Fix missed merge in 1.4.7 release. +* Gem version 1.4.7. Add support for text SSL certs. Do not use, use 1.4.8 instead. * Gem version 1.4.6. Fix version 1.4.5 which breaks JRuby support. * Gem version 1.4.5. JRuby broken here. Use is not recommended. * Gem version 1.4.4. Miscellaneous fixes, see CHANGELOG.md for details. @@ -292,7 +294,7 @@ 2009-12-25 </td> <td style="border: 1px solid black;padding-left: 10px;" > -(0364) +(0362) </td> <td style="border: 1px solid black;padding-left: 10px;" > <span style="font-weight: bold;" > @@ -320,7 +322,7 @@ 2010-03-23 </td> <td style="border: 1px solid black;padding-left: 10px;" > -(0087) +(0092) </td> <td style="border: 1px solid black;padding-left: 10px;" > <span style="font-weight: bold;" > @@ -805,5 +807,18 @@ / <mo...@cmu.edu> </td> </tr> +<tr> +<td style="border: 1px solid black;padding-left: 10px;" > +2018-11-19 +</td> +<td style="border: 1px solid black;padding-left: 10px;" > +(0003) +</td> +<td style="border: 1px solid black;padding-left: 10px;" > +<span style="font-weight: bold;" > +Katharine +</span> + / <krsibb...@gmail.com> +</td> +</tr> </table> - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Rakefile new/Rakefile --- old/Rakefile 2018-11-05 17:06:10.000000000 +0100 +++ new/Rakefile 2018-12-19 16:44:53.000000000 +0100 @@ -33,7 +33,7 @@ gem.version = Stomp::Version::STRING gem.summary = %Q{Ruby client for the Stomp messaging protocol} gem.license = "Apache-2.0" - gem.description = %Q{Ruby client for the Stomp messaging protocol. Note that this gem is no longer supported on rubyforge.} + gem.description = %Q{Ruby client for the Stomp messaging protocol.} gem.email = ["bri...@apache.org", 'mar...@stones.com', 'morel...@gmail.com', 'allard.gu...@gmail.com' ] gem.homepage = "https://github.com/stompgem/stomp" Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/examples/ssl/ssl_common.rb new/examples/ssl/ssl_common.rb --- old/examples/ssl/ssl_common.rb 2018-11-05 17:06:10.000000000 +0100 +++ new/examples/ssl/ssl_common.rb 2018-12-19 16:44:53.000000000 +0100 @@ -51,6 +51,30 @@ ENV['CLI_KEY'] || pck() # The client private key File end + # Client cert file name. Change or specify. + # This is the author's default. + def cli_cert_text() + fake_cert = '------BEGIN CERTIFICATE----- + fake_cert + ------END CERTIFICATE-----' + + # The client cert text is stored in environmental variable + ENV['CLI_CERT_TEXT'] || fake_cert + + end + + # Client private key . Change or specify. + # This is the author's default. + # This file should not be exposed to the outside world. + def cli_key_text() + fake_key = '-----BEGIN PRIVATE KEY----- + fake_key + -----END PRIVATE KEY-----' + + # The client private key text is stored in environment variable + ENV['CLI_KEY_TEXT'] || fake_key + end + # Server Data. # Server file location/directory. Change or specify. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/examples/ssl/uc3/ssl_uc3.rb new/examples/ssl/uc3/ssl_uc3.rb --- old/examples/ssl/uc3/ssl_uc3.rb 2018-11-05 17:06:10.000000000 +0100 +++ new/examples/ssl/uc3/ssl_uc3.rb 1970-01-01 01:00:00.000000000 +0100 @@ -1,70 +0,0 @@ -# -*- encoding: utf-8 -*- - -# -# Reference: https://github.com/stompgem/stomp/wiki/extended-ssl-overview -# -if Kernel.respond_to?(:require_relative) - require_relative("../ssl_common") - require_relative("../../stomp_common") -else - $LOAD_PATH << File.dirname(__FILE__) - require "../ssl_common" - require("../../stomp_common") -end -include SSLCommon -include Stomp1xCommon -# -# == SSL Use Case 3 - server *does* authenticate client, client does *not* authenticate server -# -# Subcase 3.A - Message broker configuration does *not* require client authentication -# -# - Expect connection success -# - Expect a verify result of 20 becuase the client did not authenticate the -# server's certificate. -# -# Subcase 3.B - Message broker configuration *does* require client authentication -# -# - Expect connection success if the server can authenticate the client certificate -# - Expect a verify result of 20 because the client did not authenticate the -# server's certificate. -# -class ExampleSSL3 - # Initialize. - def initialize - # Change the following as needed. - @host = host() - # It is very likely that you will have to specify your specific port number. - # 61612 is currently my AMQ local port number for ssl client auth is required. - @port = ENV['STOMP_PORT'] ? ENV['STOMP_PORT'].to_i : 61612 - end - # Run example. - def run - puts "SSLUC3 Connect host: #{@host}, port: #{@port}" - - # Possibly change the cert file(s) name(s) here. - ssl_opts = Stomp::SSLParams.new( - :key_file => "#{cli_loc()}/#{cli_key()}", # the client's private key, private data - :cert_file => "#{cli_loc()}/#{cli_cert()}", # the client's signed certificate - :fsck => true # Check that the files exist first - ) - puts "SSLOPTS: #{ssl_opts.inspect}" - # - hash = { :hosts => [ - {:login => login(), :passcode => passcode(), :host => @host, :port => @port, :ssl => ssl_opts}, - ], - :reliable => false, # YMMV, to test this in a sane manner - } - # - puts "Connect starts, SSL Use Case 3" - c = Stomp::Connection.new(hash) - puts "Connect completed" - puts "SSL Verify Result: #{ssl_opts.verify_result}" - puts "SSL Peer Certificate:\n#{ssl_opts.peer_cert}" if showPeerCert() - c.disconnect() - end - -end -# -e = ExampleSSL3.new() -e.run - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/examples/ssl/uc3/ssl_uc3_ciphers.rb new/examples/ssl/uc3/ssl_uc3_ciphers.rb --- old/examples/ssl/uc3/ssl_uc3_ciphers.rb 2018-11-05 17:06:10.000000000 +0100 +++ new/examples/ssl/uc3/ssl_uc3_ciphers.rb 1970-01-01 01:00:00.000000000 +0100 @@ -1,65 +0,0 @@ -# -*- encoding: utf-8 -*- - -# -# Reference: https://github.com/stompgem/stomp/wiki/extended-ssl-overview -# -if Kernel.respond_to?(:require_relative) - require_relative("../ssl_common") - require_relative("../../stomp_common") -else - $LOAD_PATH << File.dirname(__FILE__) - require "../ssl_common" - require("../../stomp_common") -end -include SSLCommon -include Stomp1xCommon -# -# == SSL Use Case 3 - User Supplied Ciphers -# -# If you need your own ciphers list, this is how. -# Stomp's default list will work in many cases. If you need to use this, you -# will know it because SSL connect will fail. In that case, determining -# _what_ should be in the list is your responsibility. -# -class ExampleSSL3C - # Initialize. - def initialize # Change the following as needed. - @host = host() - # It is very likely that you will have to specify your specific port number. - # 61612 is currently my AMQ local port number for ssl client auth is required. - @port = ENV['STOMP_PORT'] ? ENV['STOMP_PORT'].to_i : 61612 - end - # Run example. - def run - puts "SSLUC3C Connect host: #{@host}, port: #{@port}" - # - # SSL Use Case 3 - # - # Possibly change the cert file(s) name(s) here. - ssl_opts = Stomp::SSLParams.new( - :key_file => "#{cli_loc()}/#{cli_key()}", # the client's private key, private data - :cert_file => "#{cli_loc()}/#{cli_cert()}", # the client's signed certificate - :ciphers => ciphers_list(), # The cipher list - :fsck => true # Check that the files exist first - ) - # - puts "SSLOPTS: #{ssl_opts.inspect}" - hash = { :hosts => [ - {:login => login(), :passcode => passcode(), :host => @host, :port => @port, :ssl => ssl_opts}, - ], - :reliable => false, # YMMV, to test this in a sane manner - } - # - puts "Connect starts, SSL Use Case 3" - c = Stomp::Connection.new(hash) - puts "Connect completed" - puts "SSL Verify Result: #{ssl_opts.verify_result}" - puts "SSL Peer Certificate:\n#{ssl_opts.peer_cert}" if showPeerCert() - c.disconnect() - end - -end -# -e = ExampleSSL3C.new() -e.run - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/examples/ssl/uc3/ssl_uc3_from_files.rb new/examples/ssl/uc3/ssl_uc3_from_files.rb --- old/examples/ssl/uc3/ssl_uc3_from_files.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/examples/ssl/uc3/ssl_uc3_from_files.rb 2018-12-19 16:44:53.000000000 +0100 @@ -0,0 +1,70 @@ +# -*- encoding: utf-8 -*- + +# +# Reference: https://github.com/stompgem/stomp/wiki/extended-ssl-overview +# +if Kernel.respond_to?(:require_relative) + require_relative("../ssl_common") + require_relative("../../stomp_common") +else + $LOAD_PATH << File.dirname(__FILE__) + require "../ssl_common" + require("../../stomp_common") +end +include SSLCommon +include Stomp1xCommon +# +# == SSL Use Case 3 - server *does* authenticate client, client does *not* authenticate server +# +# Subcase 3.A - Message broker configuration does *not* require client authentication +# +# - Expect connection success +# - Expect a verify result of 20 becuase the client did not authenticate the +# server's certificate. +# +# Subcase 3.B - Message broker configuration *does* require client authentication +# +# - Expect connection success if the server can authenticate the client certificate +# - Expect a verify result of 20 because the client did not authenticate the +# server's certificate. +# +class ExampleSSL3 + # Initialize. + def initialize + # Change the following as needed. + @host = host() + # It is very likely that you will have to specify your specific port number. + # 61612 is currently my AMQ local port number for ssl client auth is required. + @port = ENV['STOMP_PORT'] ? ENV['STOMP_PORT'].to_i : 61612 + end + # Run example. + def run + puts "SSLUC3 Connect host: #{@host}, port: #{@port}" + + # Possibly change the cert file(s) name(s) here. + ssl_opts = Stomp::SSLParams.new( + :key_file => "#{cli_loc()}/#{cli_key()}", # the client's private key, private data + :cert_file => "#{cli_loc()}/#{cli_cert()}", # the client's signed certificate + :fsck => true # Check that the files exist first + ) + puts "SSLOPTS: #{ssl_opts.inspect}" + # + hash = { :hosts => [ + {:login => login(), :passcode => passcode(), :host => @host, :port => @port, :ssl => ssl_opts}, + ], + :reliable => false, # YMMV, to test this in a sane manner + } + # + puts "Connect starts, SSL Use Case 3" + c = Stomp::Connection.new(hash) + puts "Connect completed" + puts "SSL Verify Result: #{ssl_opts.verify_result}" + puts "SSL Peer Certificate:\n#{ssl_opts.peer_cert}" if showPeerCert() + c.disconnect() + end + +end +# +e = ExampleSSL3.new() +e.run + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/examples/ssl/uc3/ssl_uc3_from_files_ciphers.rb new/examples/ssl/uc3/ssl_uc3_from_files_ciphers.rb --- old/examples/ssl/uc3/ssl_uc3_from_files_ciphers.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/examples/ssl/uc3/ssl_uc3_from_files_ciphers.rb 2018-12-19 16:44:53.000000000 +0100 @@ -0,0 +1,65 @@ +# -*- encoding: utf-8 -*- + +# +# Reference: https://github.com/stompgem/stomp/wiki/extended-ssl-overview +# +if Kernel.respond_to?(:require_relative) + require_relative("../ssl_common") + require_relative("../../stomp_common") +else + $LOAD_PATH << File.dirname(__FILE__) + require "../ssl_common" + require("../../stomp_common") +end +include SSLCommon +include Stomp1xCommon +# +# == SSL Use Case 3 - User Supplied Ciphers +# +# If you need your own ciphers list, this is how. +# Stomp's default list will work in many cases. If you need to use this, you +# will know it because SSL connect will fail. In that case, determining +# _what_ should be in the list is your responsibility. +# +class ExampleSSL3C + # Initialize. + def initialize # Change the following as needed. + @host = host() + # It is very likely that you will have to specify your specific port number. + # 61612 is currently my AMQ local port number for ssl client auth is required. + @port = ENV['STOMP_PORT'] ? ENV['STOMP_PORT'].to_i : 61612 + end + # Run example. + def run + puts "SSLUC3C Connect host: #{@host}, port: #{@port}" + # + # SSL Use Case 3 + # + # Possibly change the cert file(s) name(s) here. + ssl_opts = Stomp::SSLParams.new( + :key_file => "#{cli_loc()}/#{cli_key()}", # the client's private key, private data + :cert_file => "#{cli_loc()}/#{cli_cert()}", # the client's signed certificate + :ciphers => ciphers_list(), # The cipher list + :fsck => true # Check that the files exist first + ) + # + puts "SSLOPTS: #{ssl_opts.inspect}" + hash = { :hosts => [ + {:login => login(), :passcode => passcode(), :host => @host, :port => @port, :ssl => ssl_opts}, + ], + :reliable => false, # YMMV, to test this in a sane manner + } + # + puts "Connect starts, SSL Use Case 3" + c = Stomp::Connection.new(hash) + puts "Connect completed" + puts "SSL Verify Result: #{ssl_opts.verify_result}" + puts "SSL Peer Certificate:\n#{ssl_opts.peer_cert}" if showPeerCert() + c.disconnect() + end + +end +# +e = ExampleSSL3C.new() +e.run + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/examples/ssl/uc3/ssl_uc3_without_files.rb new/examples/ssl/uc3/ssl_uc3_without_files.rb --- old/examples/ssl/uc3/ssl_uc3_without_files.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/examples/ssl/uc3/ssl_uc3_without_files.rb 2018-12-19 16:44:53.000000000 +0100 @@ -0,0 +1,69 @@ +# -*- encoding: utf-8 -*- + +# +# Reference: https://github.com/stompgem/stomp/wiki/extended-ssl-overview +# +if Kernel.respond_to?(:require_relative) + require_relative("../ssl_common") + require_relative("../../stomp_common") +else + $LOAD_PATH << File.dirname(__FILE__) + require "../ssl_common" + require("../../stomp_common") +end +include SSLCommon +include Stomp1xCommon +# +# == SSL Use Case 3 - server *does* authenticate client, client does *not* authenticate server +# +# Subcase 3.A - Message broker configuration does *not* require client authentication +# +# - Expect connection success +# - Expect a verify result of 20 becuase the client did not authenticate the +# server's certificate. +# +# Subcase 3.B - Message broker configuration *does* require client authentication +# +# - Expect connection success if the server can authenticate the client certificate +# - Expect a verify result of 20 because the client did not authenticate the +# server's certificate. +# +class ExampleSSL3woFiles + # Initialize. + def initialize + # Change the following as needed. + @host = host() + # It is very likely that you will have to specify your specific port number. + # 61612 is currently my AMQ local port number for ssl client auth is required. + @port = ENV['STOMP_PORT'] ? ENV['STOMP_PORT'].to_i : 61612 + end + # Run example. + def run + puts "SSLUC3 Connect host: #{@host}, port: #{@port}" + + # Possibly change the cert file(s) name(s) here. + ssl_opts = Stomp::SSLParams.new( + :key_text => cli_key_text().to_s, # the client's private key, private data + :cert_text => cli_cert_text().to_s # the client's signed certificate + ) + puts "SSLOPTS: #{ssl_opts.inspect}" + # + hash = { :hosts => [ + {:login => login(), :passcode => passcode(), :host => @host, :port => @port, :ssl => ssl_opts}, + ], + :reliable => false, # YMMV, to test this in a sane manner + } + # + puts "Connect starts, SSL Use Case 3" + c = Stomp::Connection.new(hash) + puts "Connect completed" + puts "SSL Verify Result: #{ssl_opts.verify_result}" + puts "SSL Peer Certificate:\n#{ssl_opts.peer_cert}" if showPeerCert() + c.disconnect() + end + +end +# +e = ExampleSSL3woFiles.new() +e.run + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/examples/ssl/uc3/ssl_uc3_without_files_ciphers.rb new/examples/ssl/uc3/ssl_uc3_without_files_ciphers.rb --- old/examples/ssl/uc3/ssl_uc3_without_files_ciphers.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/examples/ssl/uc3/ssl_uc3_without_files_ciphers.rb 2018-12-19 16:44:53.000000000 +0100 @@ -0,0 +1,65 @@ +# -*- encoding: utf-8 -*- + +# +# Reference: https://github.com/stompgem/stomp/wiki/extended-ssl-overview +# +if Kernel.respond_to?(:require_relative) + require_relative("../ssl_common") + require_relative("../../stomp_common") +else + $LOAD_PATH << File.dirname(__FILE__) + require "../ssl_common" + require("../../stomp_common") +end +include SSLCommon +include Stomp1xCommon +# +# == SSL Use Case 3 - User Supplied Ciphers not from files +# +# If you need your own ciphers list, this is how. +# Stomp's default list will work in many cases. If you need to use this, you +# will know it because SSL connect will fail. In that case, determining +# _what_ should be in the list is your responsibility. +# +class ExampleSSLwoFiles3C + # Initialize. + def initialize # Change the following as needed. + @host = host() + # It is very likely that you will have to specify your specific port number. + # 61612 is currently my AMQ local port number for ssl client auth is required. + @port = ENV['STOMP_PORT'] ? ENV['STOMP_PORT'].to_i : 61612 + end + # Run example. + def run + puts "SSLUC3C Connect host: #{@host}, port: #{@port}" + # + # SSL Use Case 3 without files + # certificate information will typically be stored in environmental variables + # + # Possibly change the cert file(s) name(s) here. + ssl_opts = Stomp::SSLParams.new( + :key_text => cli_key_text().to_s, # the client's private key, private data + :cert_text => cli_cert_text().to_s, # the client's signed certificate + :ciphers => ciphers_list() # The cipher list + ) + # + puts "SSLOPTS: #{ssl_opts.inspect}" + hash = { :hosts => [ + {:login => login(), :passcode => passcode(), :host => @host, :port => @port, :ssl => ssl_opts}, + ], + :reliable => false, # YMMV, to test this in a sane manner + } + # + puts "Connect starts, SSL Use Case 3 without files" + c = Stomp::Connection.new(hash) + puts "Connect completed" + puts "SSL Verify Result: #{ssl_opts.verify_result}" + puts "SSL Peer Certificate:\n#{ssl_opts.peer_cert}" if showPeerCert() + c.disconnect() + end + +end +# +e = ExampleSSLwoFiles3C.new() +e.run + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/connection/heartbeats.rb new/lib/connection/heartbeats.rb --- old/lib/connection/heartbeats.rb 2018-11-05 17:06:10.000000000 +0100 +++ new/lib/connection/heartbeats.rb 2018-12-19 16:44:53.000000000 +0100 @@ -164,7 +164,7 @@ begin delta = curt - @lr if delta > sleeptime - slog(:on_hbfire, log_params, "receive_heartbeat", {}) + slog(:on_hbfire, log_params, "receive_heartbeat", {:delta => delta}) # Client code could be off doing something else (that is, no reading of # the socket has been requested by the caller). Try to handle that case. lock = @read_semaphore.try_lock diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/connection/netio.rb new/lib/connection/netio.rb --- old/lib/connection/netio.rb 2018-11-05 17:06:10.000000000 +0100 +++ new/lib/connection/netio.rb 2018-12-19 16:44:53.000000000 +0100 @@ -367,19 +367,36 @@ ctx.cert_store = truststores end - # Client authentication parameters. - # Both cert file and key file must be present or not, it can not be a mix. - raise Stomp::Error::SSLClientParamsError if @ssl.cert_file.nil? && !@ssl.key_file.nil? - raise Stomp::Error::SSLClientParamsError if !@ssl.cert_file.nil? && @ssl.key_file.nil? - if @ssl.cert_file # Any check will do here + # Client authentication + # If cert exists as a file, then it should not be input as text + raise Stomp::Error::SSLClientParamsError if !@ssl.cert_file.nil? && !@ssl.cert_text.nil? + # If cert exists as file, then key must exist, either as text or file + raise Stomp::Error::SSLClientParamsError if !@ssl.cert_file.nil? && @ssl.key_file.nil? && @ssl.key_text.nil? + if @ssl.cert_file raise Stomp::Error::SSLNoCertFileError if !File::exists?(@ssl.cert_file) raise Stomp::Error::SSLUnreadableCertFileError if !File::readable?(@ssl.cert_file) ctx.cert = OpenSSL::X509::Certificate.new(File.read(@ssl.cert_file)) + end + + # If cert exists as file, then key must exist, either as text or file + raise Stomp::Error::SSLClientParamsError if !@ssl.cert_text.nil? && @ssl.key_file.nil? && @ssl.key_text.nil? + if @ssl.cert_text + ctx.cert = OpenSSL::X509::Certificate.new(@ssl.cert_text) + end + + # If key exists as a text, then it should not be input as file + raise Stomp::Error::SSLClientParamsError if !@ssl.key_text.nil? && !@ssl.key_file.nil? + if @ssl.key_file raise Stomp::Error::SSLNoKeyFileError if !File::exists?(@ssl.key_file) raise Stomp::Error::SSLUnreadableKeyFileError if !File::readable?(@ssl.key_file) ctx.key = OpenSSL::PKey::RSA.new(File.read(@ssl.key_file), @ssl.key_password) end + if @ssl.key_text + nt = @ssl.key_text.gsub(/\t/, "") + ctx.key = OpenSSL::PKey::RSA.new(nt, @ssl.key_password) + end + # Cipher list # As of this writing, there are numerous problems with supplying # cipher lists to jruby. So we do not attempt to do that here. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/stomp/sslparams.rb new/lib/stomp/sslparams.rb --- old/lib/stomp/sslparams.rb 2018-11-05 17:06:10.000000000 +0100 +++ new/lib/stomp/sslparams.rb 2018-12-19 16:44:53.000000000 +0100 @@ -18,6 +18,12 @@ # The client private key file. attr_accessor :key_file +# The client certificate text. + attr_accessor :cert_text + + # The client private key text. + attr_accessor :key_text + # The client private key password. attr_accessor :key_password @@ -52,12 +58,20 @@ # or a CSV list of cert file names # Client authentication parameters - @cert_file = opts[:cert_file] # Client cert - @key_file = opts[:key_file] # Client key - @key_password = opts[:key_password] # Client key password + @cert_file = opts[:cert_file] # Client cert file + @key_file = opts[:key_file] # Client key file + @cert_text = opts[:cert_text] # Client cert text + @key_text = opts[:key_text] # Client key text + @key_password = opts[:key_password] # Client key password # - raise Stomp::Error::SSLClientParamsError if @cert_file.nil? && !@key_file.nil? - raise Stomp::Error::SSLClientParamsError if !@cert_file.nil? && @key_file.nil? + raise Stomp::Error::SSLClientParamsError if !@cert_file.nil? && @key_file.nil? && @key_text.nil? + raise Stomp::Error::SSLClientParamsError if !@cert_text.nil? && @key_file.nil? && @key_text.nil? + raise Stomp::Error::SSLClientParamsError if !@cert_text.nil? && !@cert_file.nil? + + raise Stomp::Error::SSLClientParamsError if !@key_file.nil? && @cert_file.nil? && @cert_text.nil? + raise Stomp::Error::SSLClientParamsError if !@key_text.nil? && @cert_file.nil? && @cert_text.nil? + raise Stomp::Error::SSLClientParamsError if !@key_text.nil? && !@key_file.nil? + # @ciphers = opts[:ciphers] @use_ruby_ciphers = opts[:use_ruby_ciphers] ? opts[:use_ruby_ciphers] : false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/stomp/version.rb new/lib/stomp/version.rb --- old/lib/stomp/version.rb 2018-11-05 17:06:10.000000000 +0100 +++ new/lib/stomp/version.rb 2018-12-19 16:44:53.000000000 +0100 @@ -6,8 +6,8 @@ module Version #:nodoc: all MAJOR = 1 MINOR = 4 - PATCH = 6 - # PATCH = "6.plvl.001" + PATCH = 8 + # PATCH = "8.plvl.001" STRING = "#{MAJOR}.#{MINOR}.#{PATCH}" end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2018-11-05 17:06:09.000000000 +0100 +++ new/metadata 2018-12-19 16:44:53.000000000 +0100 @@ -1,7 +1,7 @@ --- !ruby/object:Gem::Specification name: stomp version: !ruby/object:Gem::Version - version: 1.4.6 + version: 1.4.8 platform: ruby authors: - Brian McCallister @@ -11,7 +11,7 @@ autorequire: bindir: bin cert_chain: [] -date: 2018-11-05 00:00:00.000000000 Z +date: 2018-12-19 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency name: rspec @@ -33,8 +33,7 @@ - - "~>" - !ruby/object:Gem::Version version: '2.14' -description: Ruby client for the Stomp messaging protocol. Note that this gem is - no longer supported on rubyforge. +description: Ruby client for the Stomp messaging protocol. email: - bri...@apache.org - mar...@stones.com @@ -91,8 +90,10 @@ - examples/ssl/uc1/ssl_uc1_ciphers.rb - examples/ssl/uc2/ssl_uc2.rb - examples/ssl/uc2/ssl_uc2_ciphers.rb -- examples/ssl/uc3/ssl_uc3.rb -- examples/ssl/uc3/ssl_uc3_ciphers.rb +- examples/ssl/uc3/ssl_uc3_from_files.rb +- examples/ssl/uc3/ssl_uc3_from_files_ciphers.rb +- examples/ssl/uc3/ssl_uc3_without_files.rb +- examples/ssl/uc3/ssl_uc3_without_files_ciphers.rb - examples/ssl/uc4/ssl_uc4.rb - examples/ssl/uc4/ssl_uc4_ciphers.rb - examples/stomp_common.rb diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stomp.gemspec new/stomp.gemspec --- old/stomp.gemspec 2018-11-05 17:06:10.000000000 +0100 +++ new/stomp.gemspec 2018-12-19 16:44:54.000000000 +0100 @@ -2,17 +2,17 @@ # DO NOT EDIT THIS FILE DIRECTLY # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec' # -*- encoding: utf-8 -*- -# stub: stomp 1.4.6 ruby lib +# stub: stomp 1.4.8 ruby lib Gem::Specification.new do |s| s.name = "stomp".freeze - s.version = "1.4.6" + s.version = "1.4.8" s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= s.require_paths = ["lib".freeze] s.authors = ["Brian McCallister".freeze, "Marius Mathiesen".freeze, "Thiago Morello".freeze, "Guy M. Allard".freeze] - s.date = "2018-11-05" - s.description = "Ruby client for the Stomp messaging protocol. Note that this gem is no longer supported on rubyforge.".freeze + s.date = "2018-12-19" + s.description = "Ruby client for the Stomp messaging protocol.".freeze s.email = ["bri...@apache.org".freeze, "mar...@stones.com".freeze, "morel...@gmail.com".freeze, "allard.gu...@gmail.com".freeze] s.executables = ["catstomp".freeze, "stompcat".freeze] s.extra_rdoc_files = [ @@ -63,8 +63,10 @@ "examples/ssl/uc1/ssl_uc1_ciphers.rb", "examples/ssl/uc2/ssl_uc2.rb", "examples/ssl/uc2/ssl_uc2_ciphers.rb", - "examples/ssl/uc3/ssl_uc3.rb", - "examples/ssl/uc3/ssl_uc3_ciphers.rb", + "examples/ssl/uc3/ssl_uc3_from_files.rb", + "examples/ssl/uc3/ssl_uc3_from_files_ciphers.rb", + "examples/ssl/uc3/ssl_uc3_without_files.rb", + "examples/ssl/uc3/ssl_uc3_without_files_ciphers.rb", "examples/ssl/uc4/ssl_uc4.rb", "examples/ssl/uc4/ssl_uc4_ciphers.rb", "examples/stomp_common.rb", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/test_anonymous.rb new/test/test_anonymous.rb --- old/test/test_anonymous.rb 2018-11-05 17:06:10.000000000 +0100 +++ new/test/test_anonymous.rb 2018-12-19 16:44:54.000000000 +0100 @@ -20,7 +20,7 @@ # Data for multi_thread tests @max_threads = 20 @max_msgs = 100 - @tandbg = ENV['TANDBG'] ? true : false + @tandbg = ENV['TANDBG'] || ENV['TDBGALL'] ? true : false end def teardown diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/test_client.rb new/test/test_client.rb --- old/test/test_client.rb 2018-11-05 17:06:10.000000000 +0100 +++ new/test/test_client.rb 2018-12-19 16:44:54.000000000 +0100 @@ -20,7 +20,7 @@ # Multi_thread test data @max_threads = 20 @max_msgs = 50 - @tcldbg = ENV['TCLDBG'] ? true : false + @tcldbg = ENV['TCLDBG'] || ENV['TDBGALL'] ? true : false end def teardown @@ -169,9 +169,10 @@ mn = "test_transactional_publish" if @tcldbg p [ "01", mn, "starts" ] if @tcldbg - @client.begin 'tx1' - @client.publish make_destination, message_text, :transaction => 'tx1' - @client.commit 'tx1' + tid = "tx1A" + @client.begin tid + @client.publish make_destination, message_text, :transaction => tid + @client.commit tid message = nil @client.subscribe(make_destination) {|m| message = m} @@ -180,20 +181,21 @@ assert_equal message_text, message.body checkEmsg(@client) unless jruby?() p [ "99", mn, "ends" ] if @tcldbg - end + end unless ENV['STOMP_ARTEMIS'] # Test transaction publish and abort. def test_transaction_publish_then_rollback mn = "test_transaction_publish_then_rollback" if @tcldbg p [ "01", mn, "starts" ] if @tcldbg - @client.begin 'tx1' - @client.publish make_destination, "first_message", :transaction => 'tx1' - @client.abort 'tx1' - - @client.begin 'tx1' - @client.publish make_destination, "second_message", :transaction => 'tx1' - @client.commit 'tx1' + tid = "txrb1" + @client.begin tid + @client.publish make_destination, "first_message", :transaction => tid + @client.abort tid + + @client.begin tid + @client.publish make_destination, "second_message", :transaction => tid + @client.commit tid message = nil @client.subscribe(make_destination) {|m| message = m} @@ -201,7 +203,7 @@ assert_equal "second_message", message.body checkEmsg(@client) unless jruby?() p [ "99", mn, "ends" ] if @tcldbg - end + end unless ENV['STOMP_ARTEMIS'] # Test transaction publish and abort, receive with new client. # New client uses ack => client. @@ -209,13 +211,14 @@ mn = "test_tran_ack_abrt_newcli_cli" if @tcldbg p [ "01", mn, "starts" ] if @tcldbg + tid = "tx1B" @client.close if @client && @client.open? # allow tests to close @client = get_client() q = make_destination data = message_text @client.publish q, data - @client.begin 'tx1' + @client.begin tid message = nil sid = nil if @client.protocol() == Stomp::SPL_10 @@ -228,24 +231,25 @@ assert_equal data, message.body case @client.protocol() when Stomp::SPL_10 - @client.acknowledge message, :transaction => 'tx1' + @client.acknowledge message, :transaction => tid checkEmsg(@client) unless jruby?() when Stomp::SPL_11 - @client.acknowledge message, :transaction => 'tx1', :subscription => message.headers['subscription'] + @client.acknowledge message, :transaction => tid, :subscription => message.headers['subscription'] checkEmsg(@client) unless jruby?() else # 1.2+ - @client.acknowledge message, :transaction => 'tx1', :id => message.headers['ack'] + @client.acknowledge message, :transaction => tid, :id => message.headers['ack'] checkEmsg(@client) unless jruby?() end message = nil # reset - @client.abort 'tx1' # now abort + @client.abort tid # now abort checkEmsg(@client) unless jruby?() # lets recreate the connection @client.close @client = get_client() sid = nil message2 = nil - @client.begin 'tx2' + tid2 = "tx2A" + @client.begin tid2 if @client.protocol() == Stomp::SPL_10 @client.subscribe(q, :ack => 'client') {|m| message2 = m} else # 1.1 and 1.2 are the same for this @@ -257,16 +261,16 @@ assert_equal data, message2.body case @client.protocol() when Stomp::SPL_10 - @client.acknowledge message2, :transaction => 'tx2' + @client.acknowledge message2, :transaction => tid2 checkEmsg(@client) unless jruby?() when Stomp::SPL_11 - @client.acknowledge message2, :transaction => 'tx2', :subscription => message2.headers['subscription'] + @client.acknowledge message2, :transaction => tid2, :subscription => message2.headers['subscription'] checkEmsg(@client) unless jruby?() else # 1.2+ - @client.acknowledge message2, :transaction => 'tx2', :id => message2.headers['ack'] + @client.acknowledge message2, :transaction => tid2, :id => message2.headers['ack'] checkEmsg(@client) unless jruby?() end - @client.commit 'tx2' + @client.commit tid2 checkEmsg(@client) unless jruby?() @client.close p [ "99", mn, "ends" ] if @tcldbg @@ -278,13 +282,14 @@ mn = "test_tran_ack_abrt_newcli_auto" if @tcldbg p [ "01", mn, "starts" ] if @tcldbg + tid = "tx1C" @client.close if @client && @client.open? # allow tests to close @client = get_client() q = make_destination data = message_text @client.publish q, data - @client.begin 'tx1' + @client.begin tid message = nil sid = nil if @client.protocol() == Stomp::SPL_10 @@ -297,17 +302,17 @@ assert_equal data, message.body case @client.protocol() when Stomp::SPL_10 - @client.acknowledge message, :transaction => 'tx1' + @client.acknowledge message, :transaction => tid checkEmsg(@client) unless jruby?() when Stomp::SPL_11 - @client.acknowledge message, :transaction => 'tx1', :subscription => message.headers['subscription'] + @client.acknowledge message, :transaction => tid, :subscription => message.headers['subscription'] checkEmsg(@client) unless jruby?() else # 1.2+ - @client.acknowledge message, :transaction => 'tx1', :id => message.headers['ack'] + @client.acknowledge message, :transaction => tid, :id => message.headers['ack'] checkEmsg(@client) unless jruby?() end message = nil # reset - @client.abort 'tx1' # now abort + @client.abort tid # now abort checkEmsg(@client) unless jruby?() # lets recreate the connection @client.close @@ -315,7 +320,8 @@ @client = get_client() sid = nil message2 = nil - @client.begin 'tx2' + tid2 = "tx2C" + @client.begin tid2 if @client.protocol() == Stomp::SPL_10 @client.subscribe(q, :ack => 'auto') {|m| message2 = m} else # 1.1 and 1.2 are the same for this @@ -325,7 +331,7 @@ sleep 0.01 until message2 assert_not_nil message2 assert_equal data, message2.body - @client.commit 'tx2' + @client.commit tid2 checkEmsg(@client) unless jruby?() @client.close p [ "99", mn, "ends" ] if @tcldbg @@ -457,8 +463,8 @@ q = make_destination data = message_text @client.publish q, data - - @client.begin 'tx1' + tid = "tx1D" + @client.begin tid message = nil sid = nil if @client.protocol() == Stomp::SPL_10 @@ -471,39 +477,40 @@ assert_equal data, message.body case @client.protocol() when Stomp::SPL_10 - @client.acknowledge message, :transaction => 'tx1' + @client.acknowledge message, :transaction => tid checkEmsg(@client) unless jruby?() when Stomp::SPL_11 - @client.acknowledge message, :transaction => 'tx1', :subscription => message.headers['subscription'] + @client.acknowledge message, :transaction => tid, :subscription => message.headers['subscription'] checkEmsg(@client) unless jruby?() else # 1.2+ - @client.acknowledge message, :transaction => 'tx1', :id => message.headers['ack'] + @client.acknowledge message, :transaction => tid, :id => message.headers['ack'] checkEmsg(@client) unless jruby?() end message = nil - @client.abort 'tx1' + @client.abort tid # Wait for redlivery (Client logic) sleep 0.1 while message.nil? assert_not_nil message assert_equal data, message.body - @client.begin 'tx2' + tid2 = "tx2D" + @client.begin tid2 case @client.protocol() when Stomp::SPL_10 - @client.acknowledge message, :transaction => 'tx2' + @client.acknowledge message, :transaction => tid2 checkEmsg(@client) unless jruby?() when Stomp::SPL_11 - @client.acknowledge message, :transaction => 'tx2', :subscription => message.headers['subscription'] + @client.acknowledge message, :transaction => tid2, :subscription => message.headers['subscription'] checkEmsg(@client) unless jruby?() else # 1.2+ - @client.acknowledge message, :transaction => 'tx2', :id => message.headers['ack'] + @client.acknowledge message, :transaction => tid2, :id => message.headers['ack'] checkEmsg(@client) unless jruby?() end - @client.commit 'tx2' + @client.commit tid2 checkEmsg(@client) unless jruby?() @client.close @client = nil p [ "99", mn, "ends" ] if @tcldbg - end + end unless ENV['STOMP_ARTEMIS'] # Test that a connection frame is received. def test_connection_frame diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/test_codec.rb new/test/test_codec.rb --- old/test/test_codec.rb 2018-11-05 17:06:10.000000000 +0100 +++ new/test/test_codec.rb 2018-12-19 16:44:54.000000000 +0100 @@ -20,7 +20,7 @@ # Data for multi_thread tests @max_threads = 20 @max_msgs = 100 - @tcodbg = ENV['TCODBG'] ? true : false + @tcodbg = ENV['TCODBG'] || ENV['TDBGALL'] ? true : false end def teardown diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/test_connection.rb new/test/test_connection.rb --- old/test/test_connection.rb 2018-11-05 17:06:10.000000000 +0100 +++ new/test/test_connection.rb 2018-12-19 16:44:54.000000000 +0100 @@ -20,7 +20,7 @@ # Data for multi_thread tests @max_threads = 20 @max_msgs = 100 - @tcndbg = ENV['TCNDBG'] ? true : false + @tcndbg = ENV['TCNDBG'] || ENV['TDBGALL'] ? true : false end def teardown diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/test_connection1p.rb new/test/test_connection1p.rb --- old/test/test_connection1p.rb 2018-11-05 17:06:10.000000000 +0100 +++ new/test/test_connection1p.rb 2018-12-19 16:44:54.000000000 +0100 @@ -17,7 +17,7 @@ def setup @conn = get_connection() - @tc1dbg = ENV['TC1DBG'] ? true : false + @tc1dbg = ENV['TC1DBG'] || ENV['TDBGALL'] ? true : false end def teardown @@ -197,6 +197,7 @@ end if ENV['STOMP_HB11LONG'] # Test only receiving heartbeats. + # This is a no-no with Artemis, you must send, see docs def test_conn_1p_0090 mn = "test_conn_1p_0090" if @tc1dbg p [ "01", mn, "starts" ] if @tc1dbg @@ -215,7 +216,7 @@ conn.disconnect hb_asserts_recv(conn) p [ "99", mn, "ends" ] if @tc1dbg - end if ENV['STOMP_HB11LONG'] + end if ENV['STOMP_HB11LONG'] && !ENV['STOMP_ARTEMIS'] # Test sending and receiving heartbeats. def test_conn_1p_0100 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/test_message.rb new/test/test_message.rb --- old/test/test_message.rb 2018-11-05 17:06:10.000000000 +0100 +++ new/test/test_message.rb 2018-12-19 16:44:54.000000000 +0100 @@ -38,7 +38,7 @@ "\004\b{\f:\tbody\"\001\207\004\b{\b:\016statusmsg\"\aOK:\017statuscodei\000:\tdata{\t:\voutput\"3Enabled, not running, last run 693 seconds ago:\frunningi\000:\fenabledi\006:\flastrunl+\aE\021\022M:\rsenderid\"\032xx.xx.xx.xx:\016requestid\"%849d647bbe3e421ea19ac9f947bbdde4:\020senderagent\"\fpuppetd:\016msgtarget\"%/topic/mcollective.puppetd.reply:\thash\"\001\257ZdQqtaDmmdD0jZinnEcpN+YbkxQDn8uuCnwsQdvGHau6d+gxnnfPLUddWRSb\nZNMs+sQUXgJNfcV1eVBn1H+Z8QQmzYXVDMqz7J43jmgloz5PsLVbN9K3PmX/\ngszqV/WpvIyAqm98ennWqSzpwMuiCC4q2Jr3s3Gm6bUJ6UkKXnY=\n:\fmsgtimel+\a\372\023\022M" ] # - @tmsdbg = ENV['TMSDBG'] ? true : false + @tmsdbg = ENV['TMSDBG'] || ENV['TDBGALL'] ? true : false end def teardown @@ -146,7 +146,7 @@ _ = Stomp::Message.new("ERROR\nh1:val1\n\njunk\0\n", false) p [ "99", mn, "ends" ] if @tmsdbg - end + end # Test multiple headers with the same key def test_0050_mh_msg_create 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 2018-11-05 17:06:10.000000000 +0100 +++ new/test/test_ssl.rb 2018-12-19 16:44:54.000000000 +0100 @@ -17,7 +17,7 @@ def setup @conn = get_ssl_connection() - @tssdbg = ENV['TSSDBG'] ? true : false + @tssdbg = ENV['TSSDBG'] || ENV['TDBGALL'] ? true : false end def teardown @@ -50,6 +50,9 @@ p [ "01", mn, "starts" ] if @tssdbg _ = Stomp::SSLParams.new(:cert_file => "dummy1", :key_file => "dummy2") + _ = Stomp::SSLParams.new(:cert_file => "dummy1", :key_text => "dummy3") + _ = Stomp::SSLParams.new(:cert_text => "dummy1", :key_file => "dummy2") + _ = Stomp::SSLParams.new(:cert_text => "dummy4", :key_text => "dummy3") _ = Stomp::SSLParams.new(:ts_files => "dummyts1") _ = Stomp::SSLParams.new(:ts_files => "dummyts1", :cert_file => "dummy1", :key_file => "dummy2") @@ -61,12 +64,43 @@ mn = "test_ssl_0030_raise" if @tssdbg p [ "01", mn, "starts" ] if @tssdbg + key_text = '-----BEGIN PRIVATE KEY----- + fake_key + -----END PRIVATE KEY-----' + cert_text = '------BEGIN CERTIFICATE----- + fake_cert + ------END CERTIFICATE-----' + assert_raise(Stomp::Error::SSLClientParamsError) { _ = Stomp::SSLParams.new(:cert_file => "dummy1") } assert_raise(Stomp::Error::SSLClientParamsError) { + _ = Stomp::SSLParams.new(:cert_text => cert_text) + } + assert_raise(Stomp::Error::SSLClientParamsError) { _ = Stomp::SSLParams.new(:key_file => "dummy2") } + assert_raise(Stomp::Error::SSLClientParamsError) { + _ = Stomp::SSLParams.new(:key_text => key_text) + } + assert_raise(Stomp::Error::SSLClientParamsError) { + _ = Stomp::SSLParams.new(:cert_text => cert_text, :cert_file => "dummy1") + } + assert_raise(Stomp::Error::SSLClientParamsError) { + _ = Stomp::SSLParams.new(:key_text => key_text, :cert_text => cert_text, :cert_file => "dummy1") + } + assert_raise(Stomp::Error::SSLClientParamsError) { + _ = Stomp::SSLParams.new(:key_file => "dummy2", :cert_text => cert_text, :cert_file => "dummy1") + } + assert_raise(Stomp::Error::SSLClientParamsError) { + _ = Stomp::SSLParams.new(:key_text => key_text, :key_file => "dummy2") + } + assert_raise(Stomp::Error::SSLClientParamsError) { + _ = Stomp::SSLParams.new(:cert_file => "dummy1", :key_text => key_text, :key_file => "dummy2") + } + assert_raise(Stomp::Error::SSLClientParamsError) { + _ = Stomp::SSLParams.new(:cert_text => cert_text, :key_text => key_text, :key_file => "dummy2") + } p [ "99", mn, "ends" ] if @tssdbg end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/test/test_urlogin.rb new/test/test_urlogin.rb --- old/test/test_urlogin.rb 2018-11-05 17:06:10.000000000 +0100 +++ new/test/test_urlogin.rb 2018-12-19 16:44:54.000000000 +0100 @@ -54,7 +54,7 @@ @badparms = "failover://(stomp://#{hostname}:#{portnum})?a=b&noequal" @client = nil - @turdbg = ENV['TURDBG'] ? true : false + @turdbg = ENV['TURDBG'] || ENV['TDBGALL'] ? true : false end def teardown