net-ssh 4.0.0.alpha1 → 4.0.0.alpha2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/.gitignore +6 -0
  5. data/.travis.yml +10 -7
  6. data/CHANGES.txt +4 -0
  7. data/Gemfile +2 -15
  8. data/README.rdoc +6 -37
  9. data/Rakefile +5 -57
  10. data/lib/net/ssh/connection/session.rb +13 -0
  11. data/lib/net/ssh/ruby_compat.rb +2 -24
  12. data/lib/net/ssh/version.rb +1 -1
  13. data/net-ssh.gemspec +34 -225
  14. metadata +26 -100
  15. metadata.gz.sig +0 -0
  16. data/test/README.txt +0 -18
  17. data/test/authentication/methods/common.rb +0 -28
  18. data/test/authentication/methods/test_abstract.rb +0 -51
  19. data/test/authentication/methods/test_hostbased.rb +0 -114
  20. data/test/authentication/methods/test_keyboard_interactive.rb +0 -121
  21. data/test/authentication/methods/test_none.rb +0 -41
  22. data/test/authentication/methods/test_password.rb +0 -95
  23. data/test/authentication/methods/test_publickey.rb +0 -148
  24. data/test/authentication/test_agent.rb +0 -224
  25. data/test/authentication/test_ed25519.rb +0 -77
  26. data/test/authentication/test_key_manager.rb +0 -240
  27. data/test/authentication/test_session.rb +0 -107
  28. data/test/common.rb +0 -109
  29. data/test/configs/auth_off +0 -5
  30. data/test/configs/auth_on +0 -4
  31. data/test/configs/empty +0 -0
  32. data/test/configs/eqsign +0 -3
  33. data/test/configs/exact_match +0 -8
  34. data/test/configs/host_plus +0 -10
  35. data/test/configs/multihost +0 -4
  36. data/test/configs/negative_match +0 -6
  37. data/test/configs/nohost +0 -19
  38. data/test/configs/numeric_host +0 -4
  39. data/test/configs/proxy_remote_user +0 -2
  40. data/test/configs/send_env +0 -2
  41. data/test/configs/substitutes +0 -8
  42. data/test/configs/wild_cards +0 -14
  43. data/test/connection/test_channel.rb +0 -487
  44. data/test/connection/test_session.rb +0 -563
  45. data/test/integration/README.md +0 -18
  46. data/test/integration/Vagrantfile +0 -12
  47. data/test/integration/common.rb +0 -65
  48. data/test/integration/playbook.yml +0 -57
  49. data/test/integration/test_ed25519_pkeys.rb +0 -70
  50. data/test/integration/test_forward.rb +0 -532
  51. data/test/integration/test_id_rsa_keys.rb +0 -96
  52. data/test/integration/test_proxy.rb +0 -93
  53. data/test/known_hosts/github +0 -1
  54. data/test/known_hosts/github_hash +0 -1
  55. data/test/manual/test_pageant.rb +0 -37
  56. data/test/start/test_connection.rb +0 -53
  57. data/test/start/test_options.rb +0 -57
  58. data/test/start/test_transport.rb +0 -28
  59. data/test/start/test_user_nil.rb +0 -27
  60. data/test/test_all.rb +0 -12
  61. data/test/test_buffer.rb +0 -433
  62. data/test/test_buffered_io.rb +0 -63
  63. data/test/test_config.rb +0 -268
  64. data/test/test_key_factory.rb +0 -191
  65. data/test/test_known_hosts.rb +0 -66
  66. data/test/transport/hmac/test_md5.rb +0 -41
  67. data/test/transport/hmac/test_md5_96.rb +0 -27
  68. data/test/transport/hmac/test_none.rb +0 -34
  69. data/test/transport/hmac/test_ripemd160.rb +0 -36
  70. data/test/transport/hmac/test_sha1.rb +0 -36
  71. data/test/transport/hmac/test_sha1_96.rb +0 -27
  72. data/test/transport/hmac/test_sha2_256.rb +0 -37
  73. data/test/transport/hmac/test_sha2_256_96.rb +0 -27
  74. data/test/transport/hmac/test_sha2_512.rb +0 -37
  75. data/test/transport/hmac/test_sha2_512_96.rb +0 -27
  76. data/test/transport/kex/test_diffie_hellman_group14_sha1.rb +0 -13
  77. data/test/transport/kex/test_diffie_hellman_group1_sha1.rb +0 -150
  78. data/test/transport/kex/test_diffie_hellman_group_exchange_sha1.rb +0 -96
  79. data/test/transport/kex/test_diffie_hellman_group_exchange_sha256.rb +0 -19
  80. data/test/transport/kex/test_ecdh_sha2_nistp256.rb +0 -161
  81. data/test/transport/kex/test_ecdh_sha2_nistp384.rb +0 -38
  82. data/test/transport/kex/test_ecdh_sha2_nistp521.rb +0 -38
  83. data/test/transport/test_algorithms.rb +0 -328
  84. data/test/transport/test_cipher_factory.rb +0 -324
  85. data/test/transport/test_hmac.rb +0 -34
  86. data/test/transport/test_identity_cipher.rb +0 -40
  87. data/test/transport/test_packet_stream.rb +0 -1186
  88. data/test/transport/test_server_version.rb +0 -74
  89. data/test/transport/test_session.rb +0 -331
  90. data/test/transport/test_state.rb +0 -181
  91. data/test/verifiers/test_secure.rb +0 -40
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0844171c8c635cf6a3507e82ea80755ba3f62907
4
- data.tar.gz: 695c5873e12985df1085af7de53c9953415dfd16
3
+ metadata.gz: 3b154ee668530e852d2d49b1abd6adabafb36548
4
+ data.tar.gz: 3575089fbf97251dcf4b5da9f58e4c80756f2c61
5
5
  SHA512:
6
- metadata.gz: d12f8d882dc07599c08f5ca9824ecf631faee841a6bc53f6e4bd16141061208b560cc128a844652dbdd9beaf3720f986b05a5aa4eeed31ac3c75990c440225ab
7
- data.tar.gz: c3307431b05c1107f98046b7347bd915d468da7ffa5c18f68b471153cb416e0003709b8ed4da418a4c2ce73e22124db1d3208848e25b1c05722adc2b63ed6b56
6
+ metadata.gz: 6f36037cc7802c102385c28ce1ae52a59fb8b3604288ad0a5724465ed02536e009ade110fb76ce3cf40a96204556d757a3f53ff005abb535ed9452b607f66306
7
+ data.tar.gz: 90a90d798b557773ab1cd0398ab6b32128bec55c89feeea5a4cc80a39d2310cdb9f02cbe16cf9fbb7b3924ac9339edba5d96d442aa4f882f9fa81d28106b4ee2
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -0,0 +1,6 @@
1
+ /Gemfile.lock
2
+ doc
3
+ ri
4
+ pkg
5
+ *.swp
6
+ test/integration/.vagrant
@@ -1,18 +1,21 @@
1
1
  language: ruby
2
2
  sudo: false
3
3
  rvm:
4
- - 2.0.0
5
- - 2.1.0
6
- - 2.2.0
4
+ - 2.0
5
+ - 2.1
6
+ - 2.2
7
7
  - 2.3.0
8
8
  - jruby-head
9
9
  - jruby-19mode
10
10
  - rbx-2
11
+ - rbx-3
12
+ - ruby-head
13
+
14
+ matrix:
15
+ allow_failures:
16
+ - rvm: ruby-head
17
+ - rvm: rbx-3
11
18
 
12
19
  install: bundle install
13
20
 
14
21
  script: rake test
15
-
16
- matrix:
17
- allow_failures:
18
- - rvm: jruby-head
@@ -1,3 +1,7 @@
1
+ === 4.0.0.alpha2
2
+
3
+ * when transport closes we're cleaning up channels [Miklos Fazekas]
4
+
1
5
  === 4.0.0.alpha1
2
6
 
3
7
  * ed25519 key support [Miklos Fazekas]
data/Gemfile CHANGED
@@ -1,17 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Note: this is run at package time not install time so if you are
4
- # running on jruby, you need to install jruby-pageant manually.
5
- gem 'jruby-pageant', ">=1.1.1" if RUBY_PLATFORM == "java"
6
-
7
- gem 'rbnacl-libsodium', ">=1.0.2"
8
- gem 'rbnacl', ">=3.1.2"
9
- gem 'bcrypt_pbkdf', '1.0.0.alpha1' unless RUBY_PLATFORM == "java"
10
-
11
-
12
- group :development do
13
- gem 'rake'
14
- gem 'test-unit', ">= 0.8.5"
15
- gem 'mocha'
16
- gem 'jeweler'
17
- end
3
+ # Specify your gem's dependencies in mygem.gemspec
4
+ gemspec
@@ -1,17 +1,12 @@
1
1
  = Net::SSH 4.x
2
2
 
3
- <em><b>Please note: this project is in maintenance mode. It is not under active development but pull requests are very much welcome. Just be sure to include tests! -- delano</b></em>
4
-
5
-
6
3
  * Docs: http://net-ssh.github.com/net-ssh
7
4
  * Issues: https://github.com/net-ssh/net-ssh/issues
8
5
  * Codes: https://github.com/net-ssh/net-ssh
9
6
  * Email: net-ssh@solutious.com
10
7
 
11
-
12
8
  <em>As of v2.6.4, all gem releases are signed. See INSTALL.</em>
13
9
 
14
-
15
10
  == DESCRIPTION:
16
11
 
17
12
  Net::SSH is 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.
@@ -86,18 +81,13 @@ If that spits out something like "OpenSSL 0.9.8g 19 Oct 2007", then you're set.
86
81
 
87
82
  Additionally: if you are going to be having Net::SSH prompt you for things like passwords or certificate passphrases, you'll want to have either the Highline (recommended) or Termios (unix systems only) gem installed, so that the passwords don't echo in clear text.
88
83
 
89
- Lastly, if you want to run the tests or use any of the Rake tasks, you'll need:
90
-
91
- * Echoe (for the Rakefile)
92
- * Mocha (for the tests)
84
+ Lastly, if you want to run the tests or use any of the Rake tasks, you'll need Mocha and other dependencies listed in Gemfile
93
85
 
94
86
 
95
87
  == INSTALL:
96
88
 
97
89
  * gem install net-ssh (might need sudo privileges)
98
90
 
99
- NOTE: If you are running on jruby you need to install jruby-pageant manually (gemspec doesn't allow for platform specific dependencies).
100
-
101
91
  However, in order to be sure the code you're installing hasn't been tampered with, it's recommended that you verify the signature[http://docs.rubygems.org/read/chapter/21]. To do this, you need to add my public key as a trusted certificate (you only need to do this once):
102
92
 
103
93
  # Add the public key as a trusted certificate
@@ -111,7 +101,7 @@ Then, when install the gem, do so with high security:
111
101
 
112
102
  If you don't add the public key, you'll see an error like "Couldn't verify data signature". If you're still having trouble let me know and I'll give you a hand.
113
103
 
114
- == RUBY 1.x SUPPORT
104
+ == RUBY SUPPORT
115
105
 
116
106
  * Ruby 1.8.x is supported up until the net-ssh 2.5.1 release.
117
107
  * Ruby 1.9.x is supported up until the net-ssh 2.9.x release.
@@ -121,40 +111,19 @@ If you don't add the public key, you'll see an error like "Couldn't verify data
121
111
 
122
112
  Run the test suite from the net-ssh directory with the following command:
123
113
 
124
- bash -c 'unset HOME && ruby -Ilib -Itest -rrubygems test/test_all.rb'
114
+ bundle exec rake test
125
115
 
126
116
  Run a single test file like this:
127
117
 
128
- ruby -Ilib -Itest -rrubygems test/transport/test_server_version.rb
118
+ ruby -Ilib -Itest test/transport/test_server_version.rb
129
119
 
130
120
  To run integration tests see test/integration/README.txt
131
121
 
132
122
  === BUILDING GEM
133
123
 
134
- Since building the gem requires the private key if you want to build a .gem locally please use the NET_SSH_NOKEY=1 envirnoment variable:
135
-
136
- rake build NET_SSH_NOKEY=1
137
-
138
- === PORT FORWARDING TESTS
139
-
140
- ruby -Ilib -Itest -rrubygems test/manual/test_forward.rb
141
-
142
- test_forward.rb must be run separately from the test suite because
143
- it requires authorizing your public SSH keys on you localhost.
144
-
145
- If you already have keys you can do this:
146
-
147
- cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
148
-
149
- If you don't have keys see:
150
-
151
- http://kimmo.suominen.com/docs/ssh/#ssh-keygen
152
-
153
- You should now be able to login to your localhost with out
154
- bring prompted for a password:
155
-
156
- ssh localhost
124
+ Since building the gem requires the private key if you want to build a .gem locally please use the NET_SSH_BUILDGEM_UNSIGNED=1 envirnoment variable:
157
125
 
126
+ rake build NET_SSH_BUILDGEM_UNSIGNED=1
158
127
 
159
128
  == LICENSE:
160
129
 
data/Rakefile CHANGED
@@ -8,7 +8,8 @@
8
8
  require "rubygems"
9
9
  require "rake"
10
10
  require "rake/clean"
11
- if RUBY_VERSION >= '1.9.0'
11
+ require "bundler/gem_tasks"
12
+
12
13
  require "rdoc/task"
13
14
 
14
15
  task :default => ["build"]
@@ -19,51 +20,6 @@ $:.unshift File.join(File.dirname(__FILE__), 'lib')
19
20
  require "net/ssh"
20
21
  version = Net::SSH::Version::CURRENT
21
22
 
22
- begin
23
- require "jeweler"
24
- Jeweler::Tasks.new do |s|
25
- s.version = version
26
- s.name = name
27
- s.rubyforge_project = s.name
28
- s.summary = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol."
29
- s.description = s.summary + " It allows you to write programs that invoke and interact with processes on remote servers, via SSH2."
30
- s.email = "net-ssh@solutious.com"
31
- s.homepage = "https://github.com/net-ssh/net-ssh"
32
- s.authors = ["Jamis Buck", "Delano Mandelbaum", "Miklós Fazekas"]
33
- s.required_ruby_version = '>= 2.0'
34
-
35
- # dependencies defined in Gemfile
36
- s.license = "MIT"
37
-
38
- unless ENV['NET_SSH_NOKEY']
39
- signing_key = File.join('/mnt/gem/', 'net-ssh-private_key.pem')
40
- s.signing_key = File.join('/mnt/gem/', 'net-ssh-private_key.pem')
41
- s.cert_chain = ['net-ssh-public_cert.pem']
42
- unless (Rake.application.top_level_tasks & ['build','install']).empty?
43
- raise "No key found at #{signing_key} for signing, use rake <taskname> NET_SSH_NOKEY=1 to build without key" unless File.exist?(signing_key)
44
- end
45
- end
46
- def s.to_ruby
47
- # see https://github.com/technicalpickles/jeweler/issues/170
48
- result = super
49
- result = result.chomp("\n").split("\n").map do |line|
50
- if line =~ /%q<bcrypt_pbkdf>/
51
- line += ' unless RUBY_PLATFORM == "java"'
52
- else
53
- line
54
- end
55
- end.join("\n") << "\n"
56
- fail "Unexpected gemspec:#{result.inspect}" unless result.chomp!("\nend\n")
57
- result << "\n s.add_dependency('jruby-pageant', ['>= 1.1.1']) if RUBY_PLATFORM == 'jruby'"
58
- result << "\nend\n"
59
- result
60
- end
61
- end
62
- Jeweler::RubygemsDotOrgTasks.new
63
- rescue LoadError
64
- puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
65
- end
66
-
67
23
  extra_files = %w[LICENSE.txt THANKS.txt CHANGES.txt ]
68
24
  RDoc::Task.new do |rdoc|
69
25
  rdoc.rdoc_dir = "rdoc"
@@ -77,7 +33,6 @@ RDoc::Task.new do |rdoc|
77
33
  rdoc.rdoc_files.include(file) if File.exists?(file)
78
34
  }
79
35
  end
80
- end
81
36
 
82
37
  namespace :rdoc do
83
38
  desc "Update gh-pages branch"
@@ -105,15 +60,8 @@ end
105
60
  end
106
61
 
107
62
  require 'rake/testtask'
108
- Rake::TestTask.new do |t|
109
- if ENV['NET_SSH_RUN_INTEGRATION_TESTS']
110
- t.libs = ["lib","test","test/integration"]
111
- else
112
- t.libs = ["lib", "test"]
113
- end
114
- end
115
63
 
116
- Rake::TestTask.new(:'integration-test') do |t|
117
- t.libs = ["lib", "test/integration"]
118
- t.pattern = 'test/integration/test_*.rb'
64
+ Rake::TestTask.new do |t|
65
+ t.libs = ["lib", "test"]
66
+ t.libs << "test/integration" if ENV['NET_SSH_RUN_INTEGRATION_TESTS']
119
67
  end
@@ -475,6 +475,9 @@ module Net; module SSH; module Connection
475
475
 
476
476
  send(MAP[packet.type], packet)
477
477
  end
478
+ rescue
479
+ force_channel_cleanup_on_close if closed?
480
+ raise
478
481
  end
479
482
 
480
483
  # Returns the next available channel id to be assigned, and increments
@@ -483,6 +486,16 @@ module Net; module SSH; module Connection
483
486
  @channel_id_counter += 1
484
487
  end
485
488
 
489
+ def force_channel_cleanup_on_close
490
+ channels.each do |id, channel|
491
+ channel.remote_closed!
492
+ channel.close
493
+
494
+ cleanup_channel(channel)
495
+ channel.do_close
496
+ end
497
+ end
498
+
486
499
  # Invoked when a global request is received. The registered global
487
500
  # request callback will be invoked, if one exists, and the necessary
488
501
  # reply returned.
@@ -16,31 +16,9 @@ module Net; module SSH
16
16
  # This class contains miscellaneous patches and workarounds
17
17
  # for different ruby implementations.
18
18
  class Compat
19
-
20
- # A workaround for an IO#select threading bug in certain versions of MRI 1.8.
21
- # See: http://net-ssh.lighthouseapp.com/projects/36253/tickets/1-ioselect-threading-bug-in-ruby-18
22
- # The root issue is documented here: http://redmine.ruby-lang.org/issues/show/1993
23
- if RUBY_VERSION >= '1.9' || RUBY_PLATFORM == 'java'
24
- def self.io_select(*params)
25
- IO.select(*params)
26
- end
27
- else
28
- SELECT_MUTEX = Mutex.new
29
- def self.io_select(*params)
30
- # It should be safe to wrap calls in a mutex when the timeout is 0
31
- # (that is, the call is not supposed to block).
32
- # We leave blocking calls unprotected to avoid causing deadlocks.
33
- # This should still catch the main case for Capistrano users.
34
- if params[3] == 0
35
- SELECT_MUTEX.synchronize do
36
- IO.select(*params)
37
- end
38
- else
39
- IO.select(*params)
40
- end
41
- end
19
+ def self.io_select(*params)
20
+ IO.select(*params)
42
21
  end
43
-
44
22
  end
45
23
 
46
24
  end; end
@@ -55,7 +55,7 @@ module Net; module SSH
55
55
 
56
56
  # The prerelease component of this version of the Net::SSH library
57
57
  # nil allowed
58
- PRE = "alpha1"
58
+ PRE = "alpha2"
59
59
 
60
60
  # The current version of the Net::SSH library as a Version instance
61
61
  CURRENT = new(*[MAJOR, MINOR, TINY, PRE].compact)
@@ -1,233 +1,42 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
- # stub: net-ssh 4.0.0.alpha1 ruby lib
1
+ # coding: utf-8
2
+ require_relative 'lib/net/ssh/version'
6
3
 
7
- Gem::Specification.new do |s|
8
- s.name = "net-ssh"
9
- s.version = "4.0.0.alpha1"
4
+ Gem::Specification.new do |spec|
5
+ spec.name = "net-ssh"
6
+ spec.version = Net::SSH::Version::STRING
7
+ spec.authors = ["Jamis Buck", "Delano Mandelbaum", "Mikl\u{f3}s Fazekas"]
8
+ spec.email = ["net-ssh@solutious.com"]
10
9
 
11
- s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
12
- s.require_paths = ["lib"]
13
- s.authors = ["Jamis Buck", "Delano Mandelbaum", "Mikl\u{f3}s Fazekas"]
14
- s.cert_chain = ["net-ssh-public_cert.pem"]
15
- s.date = "2016-03-19"
16
- s.description = "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."
17
- s.email = "net-ssh@solutious.com"
18
- s.extra_rdoc_files = [
10
+ unless ENV['NET_SSH_BUILDGEM_UNSIGNED']
11
+ spec.cert_chain = ["net-ssh-public_cert.pem"]
12
+ spec.signing_key = "/mnt/gem/net-ssh-private_key.pem"
13
+ end
14
+
15
+ spec.summary = %q{Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.}
16
+ 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.}
17
+ spec.homepage = "https://github.com/net-ssh/net-ssh"
18
+ spec.license = "MIT"
19
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.0")
20
+
21
+ spec.extra_rdoc_files = [
19
22
  "LICENSE.txt",
20
23
  "README.rdoc"
21
24
  ]
22
- s.files = [
23
- ".travis.yml",
24
- "CHANGES.txt",
25
- "Gemfile",
26
- "LICENSE.txt",
27
- "Manifest",
28
- "README.rdoc",
29
- "Rakefile",
30
- "THANKS.txt",
31
- "lib/net/ssh.rb",
32
- "lib/net/ssh/authentication/agent.rb",
33
- "lib/net/ssh/authentication/agent/java_pageant.rb",
34
- "lib/net/ssh/authentication/agent/socket.rb",
35
- "lib/net/ssh/authentication/constants.rb",
36
- "lib/net/ssh/authentication/ed25519.rb",
37
- "lib/net/ssh/authentication/key_manager.rb",
38
- "lib/net/ssh/authentication/methods/abstract.rb",
39
- "lib/net/ssh/authentication/methods/hostbased.rb",
40
- "lib/net/ssh/authentication/methods/keyboard_interactive.rb",
41
- "lib/net/ssh/authentication/methods/none.rb",
42
- "lib/net/ssh/authentication/methods/password.rb",
43
- "lib/net/ssh/authentication/methods/publickey.rb",
44
- "lib/net/ssh/authentication/pageant.rb",
45
- "lib/net/ssh/authentication/session.rb",
46
- "lib/net/ssh/buffer.rb",
47
- "lib/net/ssh/buffered_io.rb",
48
- "lib/net/ssh/config.rb",
49
- "lib/net/ssh/connection/channel.rb",
50
- "lib/net/ssh/connection/constants.rb",
51
- "lib/net/ssh/connection/keepalive.rb",
52
- "lib/net/ssh/connection/session.rb",
53
- "lib/net/ssh/connection/term.rb",
54
- "lib/net/ssh/errors.rb",
55
- "lib/net/ssh/key_factory.rb",
56
- "lib/net/ssh/known_hosts.rb",
57
- "lib/net/ssh/loggable.rb",
58
- "lib/net/ssh/packet.rb",
59
- "lib/net/ssh/prompt.rb",
60
- "lib/net/ssh/proxy/command.rb",
61
- "lib/net/ssh/proxy/errors.rb",
62
- "lib/net/ssh/proxy/http.rb",
63
- "lib/net/ssh/proxy/socks4.rb",
64
- "lib/net/ssh/proxy/socks5.rb",
65
- "lib/net/ssh/ruby_compat.rb",
66
- "lib/net/ssh/service/forward.rb",
67
- "lib/net/ssh/test.rb",
68
- "lib/net/ssh/test/channel.rb",
69
- "lib/net/ssh/test/extensions.rb",
70
- "lib/net/ssh/test/kex.rb",
71
- "lib/net/ssh/test/local_packet.rb",
72
- "lib/net/ssh/test/packet.rb",
73
- "lib/net/ssh/test/remote_packet.rb",
74
- "lib/net/ssh/test/script.rb",
75
- "lib/net/ssh/test/socket.rb",
76
- "lib/net/ssh/transport/algorithms.rb",
77
- "lib/net/ssh/transport/cipher_factory.rb",
78
- "lib/net/ssh/transport/constants.rb",
79
- "lib/net/ssh/transport/ctr.rb",
80
- "lib/net/ssh/transport/hmac.rb",
81
- "lib/net/ssh/transport/hmac/abstract.rb",
82
- "lib/net/ssh/transport/hmac/md5.rb",
83
- "lib/net/ssh/transport/hmac/md5_96.rb",
84
- "lib/net/ssh/transport/hmac/none.rb",
85
- "lib/net/ssh/transport/hmac/ripemd160.rb",
86
- "lib/net/ssh/transport/hmac/sha1.rb",
87
- "lib/net/ssh/transport/hmac/sha1_96.rb",
88
- "lib/net/ssh/transport/hmac/sha2_256.rb",
89
- "lib/net/ssh/transport/hmac/sha2_256_96.rb",
90
- "lib/net/ssh/transport/hmac/sha2_512.rb",
91
- "lib/net/ssh/transport/hmac/sha2_512_96.rb",
92
- "lib/net/ssh/transport/identity_cipher.rb",
93
- "lib/net/ssh/transport/kex.rb",
94
- "lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb",
95
- "lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb",
96
- "lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb",
97
- "lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256.rb",
98
- "lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb",
99
- "lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb",
100
- "lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb",
101
- "lib/net/ssh/transport/key_expander.rb",
102
- "lib/net/ssh/transport/openssl.rb",
103
- "lib/net/ssh/transport/packet_stream.rb",
104
- "lib/net/ssh/transport/server_version.rb",
105
- "lib/net/ssh/transport/session.rb",
106
- "lib/net/ssh/transport/state.rb",
107
- "lib/net/ssh/verifiers/lenient.rb",
108
- "lib/net/ssh/verifiers/null.rb",
109
- "lib/net/ssh/verifiers/secure.rb",
110
- "lib/net/ssh/verifiers/strict.rb",
111
- "lib/net/ssh/version.rb",
112
- "net-ssh-public_cert.pem",
113
- "net-ssh.gemspec",
114
- "setup.rb",
115
- "support/arcfour_check.rb",
116
- "support/ssh_tunnel_bug.rb",
117
- "test/README.txt",
118
- "test/authentication/methods/common.rb",
119
- "test/authentication/methods/test_abstract.rb",
120
- "test/authentication/methods/test_hostbased.rb",
121
- "test/authentication/methods/test_keyboard_interactive.rb",
122
- "test/authentication/methods/test_none.rb",
123
- "test/authentication/methods/test_password.rb",
124
- "test/authentication/methods/test_publickey.rb",
125
- "test/authentication/test_agent.rb",
126
- "test/authentication/test_ed25519.rb",
127
- "test/authentication/test_key_manager.rb",
128
- "test/authentication/test_session.rb",
129
- "test/common.rb",
130
- "test/configs/auth_off",
131
- "test/configs/auth_on",
132
- "test/configs/empty",
133
- "test/configs/eqsign",
134
- "test/configs/exact_match",
135
- "test/configs/host_plus",
136
- "test/configs/multihost",
137
- "test/configs/negative_match",
138
- "test/configs/nohost",
139
- "test/configs/numeric_host",
140
- "test/configs/proxy_remote_user",
141
- "test/configs/send_env",
142
- "test/configs/substitutes",
143
- "test/configs/wild_cards",
144
- "test/connection/test_channel.rb",
145
- "test/connection/test_session.rb",
146
- "test/integration/README.md",
147
- "test/integration/Vagrantfile",
148
- "test/integration/common.rb",
149
- "test/integration/playbook.yml",
150
- "test/integration/test_ed25519_pkeys.rb",
151
- "test/integration/test_forward.rb",
152
- "test/integration/test_id_rsa_keys.rb",
153
- "test/integration/test_proxy.rb",
154
- "test/known_hosts/github",
155
- "test/known_hosts/github_hash",
156
- "test/manual/test_pageant.rb",
157
- "test/start/test_connection.rb",
158
- "test/start/test_options.rb",
159
- "test/start/test_transport.rb",
160
- "test/start/test_user_nil.rb",
161
- "test/test_all.rb",
162
- "test/test_buffer.rb",
163
- "test/test_buffered_io.rb",
164
- "test/test_config.rb",
165
- "test/test_key_factory.rb",
166
- "test/test_known_hosts.rb",
167
- "test/transport/hmac/test_md5.rb",
168
- "test/transport/hmac/test_md5_96.rb",
169
- "test/transport/hmac/test_none.rb",
170
- "test/transport/hmac/test_ripemd160.rb",
171
- "test/transport/hmac/test_sha1.rb",
172
- "test/transport/hmac/test_sha1_96.rb",
173
- "test/transport/hmac/test_sha2_256.rb",
174
- "test/transport/hmac/test_sha2_256_96.rb",
175
- "test/transport/hmac/test_sha2_512.rb",
176
- "test/transport/hmac/test_sha2_512_96.rb",
177
- "test/transport/kex/test_diffie_hellman_group14_sha1.rb",
178
- "test/transport/kex/test_diffie_hellman_group1_sha1.rb",
179
- "test/transport/kex/test_diffie_hellman_group_exchange_sha1.rb",
180
- "test/transport/kex/test_diffie_hellman_group_exchange_sha256.rb",
181
- "test/transport/kex/test_ecdh_sha2_nistp256.rb",
182
- "test/transport/kex/test_ecdh_sha2_nistp384.rb",
183
- "test/transport/kex/test_ecdh_sha2_nistp521.rb",
184
- "test/transport/test_algorithms.rb",
185
- "test/transport/test_cipher_factory.rb",
186
- "test/transport/test_hmac.rb",
187
- "test/transport/test_identity_cipher.rb",
188
- "test/transport/test_packet_stream.rb",
189
- "test/transport/test_server_version.rb",
190
- "test/transport/test_session.rb",
191
- "test/transport/test_state.rb",
192
- "test/verifiers/test_secure.rb"
193
- ]
194
- s.homepage = "https://github.com/net-ssh/net-ssh"
195
- s.licenses = ["MIT"]
196
- s.required_ruby_version = Gem::Requirement.new(">= 2.0")
197
- s.rubyforge_project = "net-ssh"
198
- s.rubygems_version = "2.4.6"
199
- s.signing_key = "/mnt/gem/net-ssh-private_key.pem"
200
- s.summary = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol."
25
+
26
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
27
+ spec.bindir = "exe"
28
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
+ spec.require_paths = ["lib"]
201
30
 
202
- if s.respond_to? :specification_version then
203
- s.specification_version = 4
31
+ spec.add_runtime_dependency("rbnacl-libsodium", ">= 1.0.2")
32
+ spec.add_runtime_dependency("rbnacl", ">= 3.1.2")
33
+ spec.add_runtime_dependency("bcrypt_pbkdf", "= 1.0.0.alpha1") unless RUBY_PLATFORM == "java"
204
34
 
205
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
206
- s.add_runtime_dependency(%q<rbnacl-libsodium>, [">= 1.0.2"])
207
- s.add_runtime_dependency(%q<rbnacl>, [">= 3.1.2"])
208
- s.add_runtime_dependency(%q<bcrypt_pbkdf>, ["= 1.0.0.alpha1"]) unless RUBY_PLATFORM == "java"
209
- s.add_development_dependency(%q<rake>, [">= 0"])
210
- s.add_development_dependency(%q<test-unit>, [">= 0.8.5"])
211
- s.add_development_dependency(%q<mocha>, [">= 0"])
212
- s.add_development_dependency(%q<jeweler>, [">= 0"])
213
- else
214
- s.add_dependency(%q<rbnacl-libsodium>, [">= 1.0.2"])
215
- s.add_dependency(%q<rbnacl>, [">= 3.1.2"])
216
- s.add_dependency(%q<bcrypt_pbkdf>, ["= 1.0.0.alpha1"]) unless RUBY_PLATFORM == "java"
217
- s.add_dependency(%q<rake>, [">= 0"])
218
- s.add_dependency(%q<test-unit>, [">= 0.8.5"])
219
- s.add_dependency(%q<mocha>, [">= 0"])
220
- s.add_dependency(%q<jeweler>, [">= 0"])
221
- end
222
- else
223
- s.add_dependency(%q<rbnacl-libsodium>, [">= 1.0.2"])
224
- s.add_dependency(%q<rbnacl>, [">= 3.1.2"])
225
- s.add_dependency(%q<bcrypt_pbkdf>, ["= 1.0.0.alpha1"]) unless RUBY_PLATFORM == "java"
226
- s.add_dependency(%q<rake>, [">= 0"])
227
- s.add_dependency(%q<test-unit>, [">= 0.8.5"])
228
- s.add_dependency(%q<mocha>, [">= 0"])
229
- s.add_dependency(%q<jeweler>, [">= 0"])
230
- end
231
- s.add_dependency('jruby-pageant', ['>= 1.1.1']) if RUBY_PLATFORM == 'jruby'
232
- end
35
+ spec.add_development_dependency "bundler", "~> 1.11"
36
+ spec.add_development_dependency "rake", "~> 11.1"
37
+ spec.add_development_dependency "minitest", "~> 5.0"
233
38
 
39
+ spec.add_development_dependency("mocha", ">= 1.1.0")
40
+
41
+ spec.add_dependency('jruby-pageant', '>= 1.1.1') if RUBY_PLATFORM == 'jruby'
42
+ end