net-ssh 6.3.0.beta1 → 7.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/.dockerignore +6 -0
  4. data/.github/config/rubocop_linter_action.yml +4 -0
  5. data/.github/workflows/ci-with-docker.yml +44 -0
  6. data/.github/workflows/ci.yml +4 -10
  7. data/.github/workflows/rubocop.yml +13 -0
  8. data/.rubocop.yml +2 -1
  9. data/.rubocop_todo.yml +244 -237
  10. data/Dockerfile +27 -0
  11. data/Dockerfile.openssl3 +17 -0
  12. data/README.md +7 -1
  13. data/Rakefile +4 -0
  14. data/docker-compose.yml +23 -0
  15. data/lib/net/ssh/authentication/agent.rb +13 -13
  16. data/lib/net/ssh/authentication/certificate.rb +4 -4
  17. data/lib/net/ssh/authentication/ed25519.rb +5 -5
  18. data/lib/net/ssh/authentication/key_manager.rb +18 -5
  19. data/lib/net/ssh/authentication/methods/abstract.rb +12 -2
  20. data/lib/net/ssh/authentication/methods/hostbased.rb +3 -3
  21. data/lib/net/ssh/authentication/methods/keyboard_interactive.rb +1 -1
  22. data/lib/net/ssh/authentication/methods/none.rb +1 -1
  23. data/lib/net/ssh/authentication/methods/password.rb +1 -1
  24. data/lib/net/ssh/authentication/methods/publickey.rb +56 -14
  25. data/lib/net/ssh/authentication/pageant.rb +8 -8
  26. data/lib/net/ssh/authentication/pub_key_fingerprint.rb +2 -2
  27. data/lib/net/ssh/authentication/session.rb +5 -3
  28. data/lib/net/ssh/buffer.rb +41 -26
  29. data/lib/net/ssh/buffered_io.rb +6 -6
  30. data/lib/net/ssh/config.rb +4 -4
  31. data/lib/net/ssh/connection/channel.rb +13 -13
  32. data/lib/net/ssh/connection/event_loop.rb +8 -8
  33. data/lib/net/ssh/connection/session.rb +13 -13
  34. data/lib/net/ssh/errors.rb +2 -2
  35. data/lib/net/ssh/key_factory.rb +7 -7
  36. data/lib/net/ssh/known_hosts.rb +5 -4
  37. data/lib/net/ssh/prompt.rb +1 -1
  38. data/lib/net/ssh/proxy/http.rb +1 -1
  39. data/lib/net/ssh/proxy/https.rb +2 -2
  40. data/lib/net/ssh/proxy/socks4.rb +1 -1
  41. data/lib/net/ssh/proxy/socks5.rb +1 -1
  42. data/lib/net/ssh/service/forward.rb +4 -4
  43. data/lib/net/ssh/test/channel.rb +3 -3
  44. data/lib/net/ssh/test/extensions.rb +6 -6
  45. data/lib/net/ssh/test/packet.rb +1 -1
  46. data/lib/net/ssh/test/script.rb +3 -3
  47. data/lib/net/ssh/test/socket.rb +1 -1
  48. data/lib/net/ssh/test.rb +3 -3
  49. data/lib/net/ssh/transport/algorithms.rb +12 -12
  50. data/lib/net/ssh/transport/cipher_factory.rb +15 -15
  51. data/lib/net/ssh/transport/ctr.rb +3 -3
  52. data/lib/net/ssh/transport/hmac/abstract.rb +4 -4
  53. data/lib/net/ssh/transport/hmac.rb +12 -12
  54. data/lib/net/ssh/transport/identity_cipher.rb +1 -1
  55. data/lib/net/ssh/transport/kex/abstract.rb +3 -3
  56. data/lib/net/ssh/transport/kex/abstract5656.rb +1 -1
  57. data/lib/net/ssh/transport/kex/curve25519_sha256.rb +1 -1
  58. data/lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb +21 -21
  59. data/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb +1 -1
  60. data/lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb +2 -2
  61. data/lib/net/ssh/transport/kex.rb +7 -7
  62. data/lib/net/ssh/transport/key_expander.rb +1 -1
  63. data/lib/net/ssh/transport/openssl.rb +32 -11
  64. data/lib/net/ssh/transport/packet_stream.rb +1 -1
  65. data/lib/net/ssh/transport/session.rb +6 -6
  66. data/lib/net/ssh/transport/state.rb +1 -1
  67. data/lib/net/ssh/version.rb +2 -2
  68. data/lib/net/ssh.rb +3 -3
  69. data/net-ssh.gemspec +2 -2
  70. data.tar.gz.sig +0 -0
  71. metadata +13 -7
  72. metadata.gz.sig +1 -2
  73. data/.travis.yml +0 -51
@@ -46,10 +46,10 @@ module Net
46
46
  end
47
47
 
48
48
  # The major component of this version of the Net::SSH library
49
- MAJOR = 6
49
+ MAJOR = 7
50
50
 
51
51
  # The minor component of this version of the Net::SSH library
52
- MINOR = 3
52
+ MINOR = 0
53
53
 
54
54
  # The tiny component of this version of the Net::SSH library
55
55
  TINY = 0
data/lib/net/ssh.rb CHANGED
@@ -214,7 +214,7 @@ module Net
214
214
  # * :fingerprint_hash => 'MD5' or 'SHA256', defaults to 'SHA256'
215
215
  # If +user+ parameter is nil it defaults to USER from ssh_config, or
216
216
  # local username
217
- def self.start(host, user=nil, options={}, &block)
217
+ def self.start(host, user = nil, options = {}, &block)
218
218
  invalid_options = options.keys - VALID_OPTIONS
219
219
  if invalid_options.any?
220
220
  raise ArgumentError, "invalid option(s): #{invalid_options.join(', ')}"
@@ -301,9 +301,9 @@ module Net
301
301
  end
302
302
 
303
303
  def self._sanitize_options(options)
304
- invalid_option_values = [nil,[nil]]
304
+ invalid_option_values = [nil, [nil]]
305
305
  unless (options.values & invalid_option_values).empty?
306
- nil_options = options.select { |_k,v| invalid_option_values.include?(v) }.map(&:first)
306
+ nil_options = options.select { |_k, v| invalid_option_values.include?(v) }.map(&:first)
307
307
  Kernel.warn "#{caller_locations(2, 1)[0]}: Passing nil, or [nil] to Net::SSH.start is deprecated for keys: #{nil_options.join(', ')}"
308
308
  end
309
309
  end
data/net-ssh.gemspec CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
15
15
  spec.description = %q{Net::SSH: a pure-Ruby implementation of the SSH2 client protocol. It allows you to write programs that invoke and interact with processes on remote servers, via SSH2.}
16
16
  spec.homepage = "https://github.com/net-ssh/net-ssh"
17
17
  spec.license = "MIT"
18
- spec.required_ruby_version = Gem::Requirement.new(">= 2.5")
18
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.6")
19
19
  spec.metadata = {
20
20
  "changelog_uri" => "https://github.com/net-ssh/net-ssh/blob/master/CHANGES.txt"
21
21
  }
@@ -40,5 +40,5 @@ Gem::Specification.new do |spec|
40
40
  spec.add_development_dependency "minitest", "~> 5.10"
41
41
  spec.add_development_dependency "mocha", "~> 1.11.2"
42
42
  spec.add_development_dependency "rake", "~> 12.0"
43
- spec.add_development_dependency "rubocop", "~> 1.12.1"
43
+ spec.add_development_dependency "rubocop", "~> 1.28.0"
44
44
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: net-ssh
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.3.0.beta1
4
+ version: 7.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamis Buck
@@ -31,7 +31,7 @@ cert_chain:
31
31
  i4SfC5m5UXIVZvOBYiMuZ/1B2m6R9xU41027zfOVwRFNtlVDiNfQRq6sDmz44At/
32
32
  dv8pkxXDgySe41vzlRXFsgIgz5A=
33
33
  -----END CERTIFICATE-----
34
- date: 2021-08-10 00:00:00.000000000 Z
34
+ date: 2022-04-30 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bcrypt_pbkdf
@@ -137,14 +137,14 @@ dependencies:
137
137
  requirements:
138
138
  - - "~>"
139
139
  - !ruby/object:Gem::Version
140
- version: 1.12.1
140
+ version: 1.28.0
141
141
  type: :development
142
142
  prerelease: false
143
143
  version_requirements: !ruby/object:Gem::Requirement
144
144
  requirements:
145
145
  - - "~>"
146
146
  - !ruby/object:Gem::Version
147
- version: 1.12.1
147
+ version: 1.28.0
148
148
  description: 'Net::SSH: a pure-Ruby implementation of the SSH2 client protocol. It
149
149
  allows you to write programs that invoke and interact with processes on remote servers,
150
150
  via SSH2.'
@@ -156,12 +156,17 @@ extra_rdoc_files:
156
156
  - LICENSE.txt
157
157
  - README.md
158
158
  files:
159
+ - ".dockerignore"
160
+ - ".github/config/rubocop_linter_action.yml"
161
+ - ".github/workflows/ci-with-docker.yml"
159
162
  - ".github/workflows/ci.yml"
163
+ - ".github/workflows/rubocop.yml"
160
164
  - ".gitignore"
161
165
  - ".rubocop.yml"
162
166
  - ".rubocop_todo.yml"
163
- - ".travis.yml"
164
167
  - CHANGES.txt
168
+ - Dockerfile
169
+ - Dockerfile.openssl3
165
170
  - Gemfile
166
171
  - Gemfile.noed25519
167
172
  - ISSUE_TEMPLATE.md
@@ -171,6 +176,7 @@ files:
171
176
  - Rakefile
172
177
  - THANKS.txt
173
178
  - appveyor.yml
179
+ - docker-compose.yml
174
180
  - lib/net/ssh.rb
175
181
  - lib/net/ssh/authentication/agent.rb
176
182
  - lib/net/ssh/authentication/certificate.rb
@@ -278,14 +284,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
278
284
  requirements:
279
285
  - - ">="
280
286
  - !ruby/object:Gem::Version
281
- version: '2.5'
287
+ version: '2.6'
282
288
  required_rubygems_version: !ruby/object:Gem::Requirement
283
289
  requirements:
284
290
  - - ">"
285
291
  - !ruby/object:Gem::Version
286
292
  version: 1.3.1
287
293
  requirements: []
288
- rubygems_version: 3.0.3
294
+ rubygems_version: 3.1.6
289
295
  signing_key:
290
296
  specification_version: 4
291
297
  summary: 'Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.'
metadata.gz.sig CHANGED
@@ -1,2 +1 @@
1
- ������^J��Z��"��$���N�Y=�o����ε{�2Э����*�z�A)'�W���c�{�E�<��a��l������+ʍ��EO ڀ���:%X>;0v]snf��_�������@��rRX-�Q �w-���N?��\��1 |$C.��J�-N?���m�-���OQ(,
2
- 4<�z���LY[�E�j��7� ���6��S��Ʌ��9�ŝ��(�D#���8�kz�'1�P�_>�d�
1
+ ���yc@ε%�sc��\�R굧g �jRV��s��:��[dZ�@�?���G��)��$�W�VJ�y@}褭9�%�{0����%�2��� �!��*W���!S(v)Q��婁<uCY51�@�Σp����z[�;<��.7v609X��K%`�+WPLu����%��s@E2��xݹ�so��d�c��VUUS�������?����l�LO���YVT���S�0��'9J��� ��TlK
data/.travis.yml DELETED
@@ -1,51 +0,0 @@
1
- language: ruby
2
- sudo: true
3
- dist: focal
4
-
5
- addon:
6
- hosts:
7
- gateway.netssh
8
-
9
- rvm:
10
- - 2.5.7
11
- - 2.6.5
12
- - 2.7.0
13
- - 3.0.0
14
- - jruby-9.2.11.1
15
- - rbx-3.107
16
- - ruby-head
17
- env:
18
- NET_SSH_RUN_INTEGRATION_TESTS=1
19
-
20
- matrix:
21
- exclude:
22
- - rvm: rbx-3.107
23
- include:
24
- - rvm: rbx-3.107
25
- env: NET_SSH_RUN_INTEGRATION_TESTS=
26
- - rvm: jruby-9.2.11.1
27
- env: JRUBY_OPTS='--client -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -Xcext.enabled=false -J-Xss2m -Xcompile.invokedynamic=false' NET_SSH_RUN_INTEGRATION_TESTS=
28
- fast_finish: true
29
- allow_failures:
30
- - rvm: rbx-3.107
31
- - rvm: jruby-9.2.11.1
32
- - rvm: ruby-head
33
-
34
- install:
35
- - export JRUBY_OPTS='--client -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -Xcext.enabled=false -J-Xss2m -Xcompile.invokedynamic=false'
36
- - sudo pip install ansible urllib3 pyOpenSSL ndg-httpsclient pyasn1
37
- - gem install bundler
38
- - gem list bundler
39
- - bundle install
40
- - bundle -v
41
- - BUNDLE_GEMFILE=./Gemfile.noed25519 bundle install
42
- - sudo ansible-galaxy install rvm.ruby
43
- - sudo chown -R travis:travis /home/travis/.ansible
44
- - 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'
45
-
46
- script:
47
- - ssh -V
48
- - bundle exec rake test
49
- - BUNDLE_GEMFILE=./Gemfile.noed25519 bundle exec rake test
50
- - bundle exec rake test_test
51
- - bundle exec rubocop