Hello community, here is the log from the commit of package rubygem-net-ssh for openSUSE:Factory checked in at 2017-01-25 23:27:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rubygem-net-ssh (Old) and /work/SRC/openSUSE:Factory/.rubygem-net-ssh.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-net-ssh" Changes: -------- --- /work/SRC/openSUSE:Factory/rubygem-net-ssh/rubygem-net-ssh.changes 2017-01-15 11:20:05.497292150 +0100 +++ /work/SRC/openSUSE:Factory/.rubygem-net-ssh.new/rubygem-net-ssh.changes 2017-01-25 23:27:35.372293963 +0100 @@ -1,0 +2,19 @@ +Sat Jan 14 05:34:40 UTC 2017 - co...@suse.com + +- updated to version 4.0.1 + see installed CHANGES.txt + + === 4.0.1 + === 4.0.1.rc2 + + * ENV["HOME"] might be empty so filter non expandable paths [Matt Casper, #351] + + === 4.0.1.rc1 + + * support of rbnacl 4.0 and better error message [#479] + * support include in config files [Kimura Masayuki, #475] + * fixed issue with ruby 2.2 or older on windows [#472] + + === 4.0.0 + +------------------------------------------------------------------- Old: ---- net-ssh-4.0.0.gem New: ---- net-ssh-4.0.1.gem ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rubygem-net-ssh.spec ++++++ --- /var/tmp/diff_new_pack.KXyRUH/_old 2017-01-25 23:27:35.736239099 +0100 +++ /var/tmp/diff_new_pack.KXyRUH/_new 2017-01-25 23:27:35.740238496 +0100 @@ -1,7 +1,7 @@ # # spec file for package rubygem-net-ssh # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 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-net-ssh -Version: 4.0.0 +Version: 4.0.1 Release: 0 %define mod_name net-ssh %define mod_full_name %{mod_name}-%{version} ++++++ net-ssh-4.0.0.gem -> net-ssh-4.0.1.gem ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.travis.yml new/.travis.yml --- old/.travis.yml 2016-12-26 09:19:22.000000000 +0100 +++ new/.travis.yml 2017-01-07 15:36:27.000000000 +0100 @@ -32,15 +32,15 @@ install: - export JRUBY_OPTS='--client -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -Xcext.enabled=false -J-Xss2m -Xcompile.invokedynamic=false' - sudo pip install ansible - - gem install bundler -v "= 1.11.2" - - bundle _1.11.2_ install - - BUNDLE_GEMFILE=./Gemfile.norbnacl bundle _1.11.2_ install + - gem install bundler -v "= 1.13.7" + - bundle _1.13.7_ install + - BUNDLE_GEMFILE=./Gemfile.norbnacl bundle _1.13.7_ install - sudo ansible-galaxy install rvm_io.ruby - sudo chown -R travis:travis /home/travis/.ansible - ansible-playbook ./test/integration/playbook.yml -i "localhost," --become -c local -e 'no_rvm=true' -e 'myuser=travis' -e 'mygroup=travis' -e 'homedir=/home/travis' script: - - bundle _1.11.2_ exec rake test - - BUNDLE_GEMFILE=./Gemfile.norbnacl bundle _1.11.2_ exec rake test - - bundle _1.11.2_ exec rake test_test - - bundle _1.11.2_ exec rubocop + - bundle _1.13.7_ exec rake test + - BUNDLE_GEMFILE=./Gemfile.norbnacl bundle _1.13.7_ exec rake test + - bundle _1.13.7_ exec rake test_test + - bundle _1.13.7_ exec rubocop diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CHANGES.txt new/CHANGES.txt --- old/CHANGES.txt 2016-12-26 09:19:22.000000000 +0100 +++ new/CHANGES.txt 2017-01-07 15:36:27.000000000 +0100 @@ -1,3 +1,15 @@ +=== 4.0.1 +=== 4.0.1.rc2 + + * ENV["HOME"] might be empty so filter non expandable paths [Matt Casper, #351] + +=== 4.0.1.rc1 + + * support of rbnacl 4.0 and better error message [#479] + * support include in config files [Kimura Masayuki, #475] + * fixed issue with ruby 2.2 or older on windows [#472] + +=== 4.0.0 === 4.0.0.rc3 * parse `+` character in config files [Christoph Lupprich, #470, #314] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Gemfile new/Gemfile --- old/Gemfile 2016-12-26 09:19:22.000000000 +0100 +++ new/Gemfile 2017-01-07 15:36:27.000000000 +0100 @@ -7,6 +7,10 @@ gem 'byebug', group: [:development, :test] end +if (Gem::Version.new(RUBY_VERSION) <=> Gem::Version.new("2.2.6")) < 0 + gem 'rbnacl', '< 4.0' +end + if ENV["CI"] gem 'codecov', require: false, group: :test gem 'simplecov', require: false, group: :test diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Gemfile.norbnacl.lock new/Gemfile.norbnacl.lock --- old/Gemfile.norbnacl.lock 2016-12-26 09:19:22.000000000 +0100 +++ new/Gemfile.norbnacl.lock 2017-01-07 15:36:27.000000000 +0100 @@ -1,29 +1,29 @@ PATH remote: . specs: - net-ssh (4.0.0.rc1) + net-ssh (4.0.0) GEM remote: https://rubygems.org/ specs: - ast (2.2.0) + ast (2.3.0) metaclass (0.0.4) - minitest (5.8.4) - mocha (1.1.0) + minitest (5.10.1) + mocha (1.2.1) metaclass (~> 0.0.1) - parser (2.3.1.0) + parser (2.3.3.1) ast (~> 2.2) powerpack (0.1.1) rainbow (2.1.0) - rake (11.1.2) - rubocop (0.39.0) - parser (>= 2.3.0.7, < 3.0) + rake (12.0.0) + rubocop (0.46.0) + parser (>= 2.3.1.1, < 3.0) powerpack (~> 0.1) rainbow (>= 1.99.1, < 3.0) ruby-progressbar (~> 1.7) unicode-display_width (~> 1.0, >= 1.0.1) - ruby-progressbar (1.8.0) - unicode-display_width (1.0.5) + ruby-progressbar (1.8.1) + unicode-display_width (1.1.2) PLATFORMS ruby @@ -31,11 +31,11 @@ DEPENDENCIES bundler (~> 1.11) - minitest (~> 5.0) - mocha (>= 1.1.0) + minitest (~> 5.10) + mocha (>= 1.2.1) net-ssh! - rake (~> 11.1) - rubocop (~> 0.39.0) + rake (~> 12.0) + rubocop (~> 0.46.0) BUNDLED WITH 1.13.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/appveyor.yml new/appveyor.yml --- old/appveyor.yml 2016-12-26 09:19:22.000000000 +0100 +++ new/appveyor.yml 2017-01-07 15:36:27.000000000 +0100 @@ -7,6 +7,7 @@ - ruby_version: "jruby-9.1.2.0" - ruby_version: "23" - ruby_version: "23-x64" + - ruby_version: "22-x64" #init: # - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) @@ -21,14 +22,14 @@ install: - SET PATH=C:\Ruby%ruby_version%\bin;%PATH% - if "%ruby_version%" == "jruby-9.1.2.0" ( cinst javaruntime -i ) - - if "%ruby_version%" == "jruby-9.1.2.0" ( cinst jruby --version 9.1.2.0 -i ) + - if "%ruby_version%" == "jruby-9.1.2.0" ( cinst jruby --version 9.1.2.0 -i --allow-empty-checksums ) - if "%ruby_version%" == "jruby-9.1.2.0" ( SET "PATH=C:\jruby-9.1.2.0\bin\;%PATH%" ) - ruby --version - gem install bundler --no-document -v 1.13.5 - SET BUNDLE_GEMFILE=Gemfile.norbnacl - bundle _1.13.5_ install --retry=3 - cinst freesshd - - cinst putty + - cinst putty --allow-empty-checksums - ps: | if ($env:Processor_Architecture -eq "x86") { Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ Binary files old/checksums.yaml.gz.sig and new/checksums.yaml.gz.sig differ Binary files old/data.tar.gz.sig and new/data.tar.gz.sig differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/net/ssh/authentication/ed25519.rb new/lib/net/ssh/authentication/ed25519.rb --- old/lib/net/ssh/authentication/ed25519.rb 2016-12-26 09:19:22.000000000 +0100 +++ new/lib/net/ssh/authentication/ed25519.rb 2017-01-07 15:36:27.000000000 +0100 @@ -1,6 +1,5 @@ -gem 'rbnacl-libsodium', '>= 1.0.10' -gem 'rbnacl', '>= 3.2.0', '< 4.0' -gem 'bcrypt_pbkdf', '~> 1.0.0' unless RUBY_PLATFORM == "java" +gem 'rbnacl', '>= 3.2.0', '< 5.0' +gem 'bcrypt_pbkdf', '~> 1.0' unless RUBY_PLATFORM == "java" require 'rbnacl/libsodium' require 'rbnacl' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/net/ssh/authentication/ed25519_loader.rb new/lib/net/ssh/authentication/ed25519_loader.rb --- old/lib/net/ssh/authentication/ed25519_loader.rb 2016-12-26 09:19:22.000000000 +0100 +++ new/lib/net/ssh/authentication/ed25519_loader.rb 2017-01-07 15:36:27.000000000 +0100 @@ -1,7 +1,7 @@ module Net; module SSH; module Authentication # Loads ED25519 support which requires optinal dependecies like -# rbnacl-libsodium, rbnacl, bcrypt_pbkdf +# rbnacl, bcrypt_pbkdf module ED25519Loader begin @@ -14,8 +14,18 @@ end def self.raiseUnlessLoaded(message) - raise NotImplementedError, "#{message} -- see #{ERROR}" unless LOADED + description = dependenciesRequiredForED25519 if ERROR.is_a?(Gem::LoadError) + description << "#{ERROR.class} : \"#{ERROR.message}\"\n" if ERROR + raise NotImplementedError, "#{message}\n#{description}" unless LOADED end +def self.dependenciesRequiredForED25519 + result = "net-ssh requires the following gems for ed25519 support:\n" + result << " * rbnacl (>= 3.2, < 5.0)\n" + result << " * rbnacl-libsodium, if your system doesn't have libsodium installed.\n" + result << " * bcrypt_pbkdf (>= 1.0, < 2.0)\n" unless RUBY_PLATFORM == "java" + result << "See https://github.com/net-ssh/net-ssh/issues/478 for more information\n" end -end; end; end \ No newline at end of file + +end +end; end; end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/net/ssh/authentication/pageant.rb new/lib/net/ssh/authentication/pageant.rb --- old/lib/net/ssh/authentication/pageant.rb 2016-12-26 09:19:22.000000000 +0100 +++ new/lib/net/ssh/authentication/pageant.rb 2017-01-07 15:36:28.000000000 +0100 @@ -98,8 +98,8 @@ # args: hFile, (ignored), flProtect, dwMaximumSizeHigh, # dwMaximumSizeLow, lpName - extern "HANDLE CreateFileMapping#{SUFFIX}(HANDLE, void *, DWORD, ' + - 'DWORD, DWORD, LPCTSTR)" + extern "HANDLE CreateFileMapping#{SUFFIX}(HANDLE, void *, DWORD, " + + "DWORD, DWORD, LPCTSTR)" # args: hFileMappingObject, dwDesiredAccess, dwFileOffsetHigh, # dwfileOffsetLow, dwNumberOfBytesToMap @@ -112,8 +112,8 @@ extern 'BOOL CloseHandle(HANDLE)' # args: hWnd, Msg, wParam, lParam, fuFlags, uTimeout, lpdwResult - extern "LRESULT SendMessageTimeout#{SUFFIX}(HWND, UINT, WPARAM, LPARAM, ' + - 'UINT, UINT, PDWORD_PTR)" + extern "LRESULT SendMessageTimeout#{SUFFIX}(HWND, UINT, WPARAM, LPARAM, " + + "UINT, UINT, PDWORD_PTR)" # args: none extern 'DWORD GetLastError()' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/net/ssh/config.rb new/lib/net/ssh/config.rb --- old/lib/net/ssh/config.rb 2016-12-26 09:19:23.000000000 +0100 +++ new/lib/net/ssh/config.rb 2017-01-07 15:36:28.000000000 +0100 @@ -73,10 +73,11 @@ # options.) def load(path, host, settings={}) file = File.expand_path(path) + base_dir = File.dirname(file) return settings unless File.readable?(file) globals = {} - matched_host = nil + host_matched = false seen_host = false IO.foreach(file) do |line| next if line =~ /^\s*(?:#.*)?$/ @@ -107,25 +108,35 @@ # Check for negative patterns first. If the host matches, that overrules any other positive match. # The host substring code is used to strip out the starting "!" so the regexp will be correct. - negative_match = negative_hosts.select { |h| host =~ pattern2regex(h[1..-1]) }.first + negative_matched = negative_hosts.any? { |h| host =~ pattern2regex(h[1..-1]) } - if negative_match - matched_host = nil + if negative_matched + host_matched = false else - matched_host = positive_hosts.select { |h| host =~ pattern2regex(h) }.first + host_matched = positive_hosts.any? { |h| host =~ pattern2regex(h) } end seen_host = true settings[key] = host elsif !seen_host - if key == 'identityfile' + case key + when 'identityfile' (globals[key] ||= []) << value + when 'include' + included_file_paths(base_dir, value).each do |file_path| + globals = load(file_path, host, globals) + end else globals[key] = value unless settings.key?(key) end - elsif !matched_host.nil? - if key == 'identityfile' + elsif host_matched + case key + when 'identityfile' (settings[key] ||= []) << value + when 'include' + included_file_paths(base_dir, value).each do |file_path| + settings = load(file_path, host, settings) + end else settings[key] = value unless settings.key?(key) end @@ -214,7 +225,7 @@ require 'net/ssh/proxy/command' hash[:proxy] = Net::SSH::Proxy::Command.new(value) end - when 'pubkeyauthentication' + when 'pubkeyauthentication' if value (hash[:auth_methods] << 'publickey').uniq! else @@ -237,18 +248,19 @@ merge_challenge_response_with_keyboard_interactive(ret) end - private - - def expandable_default_files - default_files.keep_if do |path| - begin - File.expand_path(path) - true - rescue ArgumentError - false - end + # Filters default_files down to the files that are expandable. + def expandable_default_files + default_files.keep_if do |path| + begin + File.expand_path(path) + true + rescue ArgumentError + false end end + end + + private # Converts an ssh_config pattern into a regex for matching against # host names. @@ -288,6 +300,13 @@ end hash end + + def included_file_paths(base_dir, config_path) + paths = Dir.glob(File.expand_path(config_path)).select { |f| File.file?(f) } + paths += Dir.glob(File.join(base_dir, config_path)).select { |f| File.file?(f) } + paths.uniq + end + end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/net/ssh/version.rb new/lib/net/ssh/version.rb --- old/lib/net/ssh/version.rb 2016-12-26 09:19:23.000000000 +0100 +++ new/lib/net/ssh/version.rb 2017-01-07 15:36:28.000000000 +0100 @@ -51,7 +51,7 @@ MINOR = 0 # The tiny component of this version of the Net::SSH library - TINY = 0 + TINY = 1 # The prerelease component of this version of the Net::SSH library # nil allowed diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/lib/net/ssh.rb new/lib/net/ssh.rb --- old/lib/net/ssh.rb 2016-12-26 09:19:22.000000000 +0100 +++ new/lib/net/ssh.rb 2017-01-07 15:36:27.000000000 +0100 @@ -262,7 +262,7 @@ # See Net::SSH::Config for the full description of all supported options. def self.configuration_for(host, use_ssh_config) files = case use_ssh_config - when true then Net::SSH::Config.default_files + when true then Net::SSH::Config.expandable_default_files when false, nil then return {} else Array(use_ssh_config) end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/metadata new/metadata --- old/metadata 2016-12-26 09:19:22.000000000 +0100 +++ new/metadata 2017-01-07 15:36:27.000000000 +0100 @@ -1,7 +1,7 @@ --- !ruby/object:Gem::Specification name: net-ssh version: !ruby/object:Gem::Version - version: 4.0.0 + version: 4.0.1 platform: ruby authors: - Jamis Buck @@ -32,14 +32,14 @@ L4d54WIy4HkZCqQXoTSiK5HZMIdXkPk3F1bZdJ8Dy1sMRru0rUkkM5mW7TQ75mfW Zp0QrZyNZhtitrXFbZneGRrIA/8G2Krft5Ly/A== -----END CERTIFICATE----- -date: 2016-12-26 00:00:00.000000000 Z +date: 2017-01-07 00:00:00.000000000 Z dependencies: - !ruby/object:Gem::Dependency requirement: !ruby/object:Gem::Requirement requirements: - - "~>" - !ruby/object:Gem::Version - version: 1.0.10 + version: 1.0.11 name: rbnacl-libsodium prerelease: false type: :development @@ -47,21 +47,27 @@ requirements: - - "~>" - !ruby/object:Gem::Version - version: 1.0.10 + version: 1.0.11 - !ruby/object:Gem::Dependency requirement: !ruby/object:Gem::Requirement requirements: - - - "~>" + - - ">=" + - !ruby/object:Gem::Version + version: 3.2.0 + - - "<" - !ruby/object:Gem::Version - version: 3.4.0 + version: '5.0' name: rbnacl prerelease: false type: :development version_requirements: !ruby/object:Gem::Requirement requirements: - - - "~>" + - - ">=" + - !ruby/object:Gem::Version + version: 3.2.0 + - - "<" - !ruby/object:Gem::Version - version: 3.4.0 + version: '5.0' - !ruby/object:Gem::Dependency requirement: !ruby/object:Gem::Requirement requirements: Binary files old/metadata.gz.sig and new/metadata.gz.sig differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/net-ssh.gemspec new/net-ssh.gemspec --- old/net-ssh.gemspec 2016-12-26 09:19:23.000000000 +0100 +++ new/net-ssh.gemspec 2017-01-07 15:36:28.000000000 +0100 @@ -29,9 +29,9 @@ spec.require_paths = ["lib"] unless ENV['NET_SSH_NO_RBNACL'] - spec.add_development_dependency("rbnacl-libsodium", "~> 1.0.10") - spec.add_development_dependency("rbnacl", "~> 3.4.0") - spec.add_development_dependency("bcrypt_pbkdf", "~> 1.0.0") unless RUBY_PLATFORM == "java" + spec.add_development_dependency("rbnacl-libsodium", "~> 1.0.11") + spec.add_development_dependency("rbnacl", ['>= 3.2.0','< 5.0']) + spec.add_development_dependency("bcrypt_pbkdf", "~> 1.0") unless RUBY_PLATFORM == "java" end spec.add_development_dependency "bundler", "~> 1.11"