net-ssh 2.6.3 → 2.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Binary file
@@ -1,4 +1,9 @@
1
1
 
2
+ === 2.6.4 / 06 Feb 2013
3
+
4
+ * Added license info to gemspec [jordimassaguerpla]
5
+
6
+
2
7
  === 2.6.3 / 10 Jan 2013
3
8
 
4
9
  * Small doc fix and correct error class for PKey::EC key type [Andreas Wolff]
File without changes
@@ -47,12 +47,12 @@ In a nutshell:
47
47
 
48
48
  # "on_data" is called when the process writes something to stdout
49
49
  ch.on_data do |c, data|
50
- $STDOUT.print data
50
+ $stdout.print data
51
51
  end
52
52
 
53
53
  # "on_extended_data" is called when the process writes something to stderr
54
54
  ch.on_extended_data do |c, type, data|
55
- $STDERR.print data
55
+ $stderr.print data
56
56
  end
57
57
 
58
58
  ch.on_close { puts "done!" }
@@ -90,11 +90,24 @@ Lastly, if you want to run the tests or use any of the Rake tasks, you'll need:
90
90
 
91
91
  NOTE: If you are running on jruby you need to install jruby-pageant manually (gemspec doesn't allow for platform specific dependencies).
92
92
 
93
+ However, in order to be sure the code you're installing hasn't been tampered with, it's recommended that you verify the signiture[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):
94
+
95
+ # Add the public key as a trusted certificate
96
+ # (You only need to do this once)
97
+ $ curl -O https://raw.github.com/net-ssh/net-ssh/master/gem-public_cert.pem
98
+ $ gem cert --add gem-public_cert.pem
99
+
100
+ Then, when install the gem, do so with high security:
101
+
102
+ $ gem install net-ssh -P HighSecurity
103
+
104
+ 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.
105
+
93
106
  == RUBY 1.8 SUPPORT
94
107
 
95
108
  net-ssh supports Ruby 1.8.x up until the 2.5.1 release. Later releases will work but the test suite is no longer guaranteed to pass all tests.
96
109
 
97
- == JRUBY 1.6
110
+ == JRUBY 1.6
98
111
 
99
112
  There is an issue with jruby-openssl that produces the following error in jruby 1.6:
100
113
 
@@ -111,7 +124,7 @@ from Karl Varga:
111
124
  Ruby's OpenSSL bindings always return a key length of 16 for RC4 ciphers, which means that when we try to use ARCFOUR256 or higher, Net::SSH generates keys which are consistently too short - 16 bytes as opposed to 32 bytes - resulting in the following error:
112
125
 
113
126
  OpenSSL::CipherError: key length too short
114
-
127
+
115
128
  My patch simply instructs Net::SSH to build keys of the the proper length, regardless of the required key length reported by OpenSSL.
116
129
 
117
130
  You should also be aware that your OpenSSL C libraries may also contain this bug. I've updated to 0.9.8k, but according to this thread[https://bugzilla.mindrot.org/show_bug.cgi?id=1291], the bug existed as recently as 0.9.8e! I've manually taken a look at my header files and they look ok, which is what makes me think it's a bug in the Ruby implementation.
@@ -120,17 +133,17 @@ To see your OpenSSL version:
120
133
 
121
134
  $ openssl version
122
135
  OpenSSL 0.9.8k 25 Mar 2009
123
-
136
+
124
137
  After installing this gem, verify that Net::SSH is generating keys of the correct length by running the script <tt>support/arcfour_check.rb</tt>:
125
138
 
126
139
  $ ruby arcfour_support.rb
127
-
140
+
128
141
  which should produce the following:
129
142
 
130
143
  arcfour128: [16, 8] OpenSSL::Cipher::Cipher
131
144
  arcfour256: [32, 8] OpenSSL::Cipher::Cipher
132
145
  arcfour512: [64, 8] OpenSSL::Cipher::Cipher
133
-
146
+
134
147
 
135
148
  == RUNNING TESTS
136
149
 
data/Rakefile CHANGED
@@ -1,84 +1,57 @@
1
- require 'rubygems'
2
- require 'rubygems/package_task'
3
- require 'rake/clean'
4
- require 'fileutils'
5
- include FileUtils
6
-
7
- require 'rdoc/task'
8
-
9
-
10
- task :default => :package
11
-
12
- # CONFIG =============================================================
13
-
14
- # Change the following according to your needs
15
- README = "README.rdoc"
16
- CHANGES = "CHANGELOG.rdoc"
17
- THANKS = 'THANKS.rdoc'
18
- LICENSE = "LICENSE.rdoc"
19
-
20
- # Files and directories to be deleted when you run "rake clean"
21
- CLEAN.include [ 'pkg', '*.gem', '.config', 'doc']
22
-
23
- # Virginia assumes your project and gemspec have the same name
24
- name = 'net-ssh'
25
- load "#{name}.gemspec"
26
- version = @spec.version
27
-
28
- # That's it! The following defaults should allow you to get started
29
- # on other things.
30
-
31
-
32
- # TESTS/SPECS =========================================================
33
-
34
-
35
-
36
- # INSTALL =============================================================
37
-
38
- Gem::PackageTask.new(@spec) do |p|
39
- p.need_tar = true if RUBY_PLATFORM !~ /mswin/
40
- end
41
-
42
- task :build => [ :package ]
43
- task :release => [ :rdoc, :package ]
44
- task :install => [ :rdoc, :package ] do
45
- sh %{sudo gem install pkg/#{name}-#{version}.gem}
46
- end
47
- task :uninstall => [ :clean ] do
48
- sh %{sudo gem uninstall #{name}}
49
- end
50
-
1
+ require "rubygems"
2
+ require "rake"
3
+ require "rake/clean"
4
+ require "rdoc/task"
5
+
6
+ task :default => ["build"]
7
+ CLEAN.include [ 'pkg', 'rdoc' ]
8
+ name = "net-ssh"
9
+
10
+ $:.unshift File.join(File.dirname(__FILE__), 'lib')
11
+ require "net/ssh"
12
+ version = Net::SSH::Version::CURRENT
13
+
14
+ begin
15
+ require "jeweler"
16
+ Jeweler::Tasks.new do |s|
17
+ s.version = version
18
+ s.name = name
19
+ s.rubyforge_project = s.name
20
+ s.summary = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol."
21
+ s.description = s.summary + " It allows you to write programs that invoke and interact with processes on remote servers, via SSH2."
22
+ s.email = "net-ssh@solutious.com"
23
+ s.homepage = "https://github.com/net-ssh/net-ssh"
24
+ s.authors = ["Jamis Buck", "Delano Mandelbaum"]
25
+
26
+ # Note: this is run at package time not install time so if you are
27
+ # running on jruby, you need to install jruby-pageant manually.
28
+ if RUBY_PLATFORM == "java"
29
+ s.add_dependency 'jruby-pageant', ">=1.1.1"
30
+ end
51
31
 
52
- # RUBYFORGE RELEASE / PUBLISH TASKS ==================================
32
+ s.add_development_dependency 'test-unit'
33
+ s.add_development_dependency 'mocha'
53
34
 
54
- if @spec.rubyforge_project
55
- desc 'Publish website to rubyforge'
56
- task 'publish:rdoc' => 'doc/index.html' do
57
- sh "scp -r doc/* rubyforge.org:/var/www/gforge-projects/#{name}/ssh/v2/api/"
58
- end
35
+ s.license = "MIT"
59
36
 
60
- desc 'Public release to rubyforge'
61
- task 'publish:gem' => [:package] do |t|
62
- sh <<-end
63
- rubyforge add_release -o Any -a #{CHANGES} -f -n #{README} #{name} #{name} #{@spec.version} pkg/#{name}-#{@spec.version}.gem &&
64
- rubyforge add_file -o Any -a #{CHANGES} -f -n #{README} #{name} #{name} #{@spec.version} pkg/#{name}-#{@spec.version}.tgz
65
- end
37
+ s.signing_key = File.join('/mnt/gem/', 'gem-private_key.pem')
38
+ s.cert_chain = ['gem-public_cert.pem']
66
39
  end
40
+ Jeweler::GemcutterTasks.new
41
+ rescue LoadError
42
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
67
43
  end
68
44
 
69
-
70
-
71
- # RUBY DOCS TASK ==================================
72
-
73
- RDoc::Task.new do |t|
74
- # this only works with RDoc 3.1 or greater
75
- t.generator = 'hanna' # gem install hanna-nouveau
76
- t.rdoc_dir = 'doc'
77
- t.title = @spec.summary
78
- t.main = README
79
- t.rdoc_files.include(README)
80
- t.rdoc_files.include(CHANGES)
81
- t.rdoc_files.include(THANKS)
82
- t.rdoc_files.include(LICENSE)
83
- t.rdoc_files.include('lib/**/*.rb')
45
+ RDoc::Task.new do |rdoc|
46
+ rdoc.rdoc_dir = "rdoc"
47
+ rdoc.title = "#{name} #{version}"
48
+ rdoc.generator = 'hanna' # gem install hanna-nouveau
49
+ rdoc.main = 'README.rdoc'
50
+ rdoc.rdoc_files.include("README*")
51
+ rdoc.rdoc_files.include("LICENSE.txt")
52
+ rdoc.rdoc_files.include("THANKS.txt")
53
+ rdoc.rdoc_files.include("CHANGES.txt")
54
+ rdoc.rdoc_files.include("bin/*.rb")
55
+ rdoc.rdoc_files.include("lib/**/*.rb")
84
56
  end
57
+
@@ -0,0 +1,91 @@
1
+ Net::SSH was originally written by Jamis Buck <jamis@37signals.com>. It
2
+ is currently maintained by Delano Mandelbaum <delano@solutious.com>. In
3
+ addition, the following individuals are gratefully acknowledged for their
4
+ contributions:
5
+
6
+ GOTOU Yuuzou <gotoyuzo@notwork.org>
7
+ * help and code related to OpenSSL
8
+
9
+ Guillaume Marçais <guillaume.marcais@free.fr>
10
+ * support for communicating with the the PuTTY "pageant" process
11
+
12
+ Daniel Berger <djberg96@yahoo.com>
13
+ * help getting unit tests in earlier Net::SSH versions to pass in Windows
14
+ * initial version of Net::SSH::Config provided inspiration and encouragement
15
+
16
+ Chris Andrews <chris@nodnol.org> and Lee Jensen <lee@outerim.com>
17
+ * support for ssh agent forwarding
18
+
19
+ Hiroshi Nakamura
20
+ * fixed errors with JRuby tests
21
+
22
+
23
+ Additional Contributors:
24
+ Andreas Wolff
25
+ mhuffnagle
26
+ ohrite
27
+ iltempo
28
+ nagachika
29
+ Nobuhiro IMAI
30
+ arturaz
31
+ dubspeed
32
+ Andy Brody
33
+ Marco Sandrini
34
+ Ryosuke Yamazaki
35
+ muffl0n
36
+ pcn
37
+ musybite
38
+ Mark Imbriaco
39
+ Joel Watson
40
+ Woon Jung
41
+ Edmund Haselwanter
42
+ robbebob
43
+ Daniel Pittman
44
+ Markus Roberts
45
+ Gavin Brock
46
+ Rich Lane
47
+ Lee Marlow
48
+ xbaldauf
49
+ Delano Mandelbaum
50
+ Miklós Fazekas
51
+ Andy Lo-A-Foe
52
+ Jason Weathered
53
+ Hans de Graaff
54
+ Travis Reeder
55
+ Akinori MUSHA
56
+ Alex Peuchert
57
+ Daniel Azuma
58
+ Will Bryant
59
+ Gerald Talton
60
+ ckoehler
61
+ Karl Varga
62
+ Denis Bernard
63
+ Steven Hazel
64
+ Alex Holems
65
+ Andrew Babkin
66
+ Bob Cotton
67
+ Yanko Ivanov
68
+ Angel N. Sciortino
69
+ arilerner@mac.com
70
+ David Dollar
71
+ Timo Gatsonides
72
+ Matthew Todd
73
+ Brian Candler
74
+ Francis Sullivan
75
+ James Rosen
76
+ Mike Timm
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
@@ -0,0 +1,20 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDNjCCAh6gAwIBAgIBADANBgkqhkiG9w0BAQUFADBBMQ8wDQYDVQQDDAZkZWxh
3
+ bm8xGTAXBgoJkiaJk/IsZAEZFglzb2x1dGlvdXMxEzARBgoJkiaJk/IsZAEZFgNj
4
+ b20wHhcNMTMwMjA2MTE1NzQ1WhcNMTQwMjA2MTE1NzQ1WjBBMQ8wDQYDVQQDDAZk
5
+ ZWxhbm8xGTAXBgoJkiaJk/IsZAEZFglzb2x1dGlvdXMxEzARBgoJkiaJk/IsZAEZ
6
+ FgNjb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDg1hMtl0XsMuUK
7
+ AKTgYWv3gjj7vuEsE2EjT+vyBg8/LpqVVwZziiaebJT9IZiQ+sCFqbiakj0b53pI
8
+ hg1yOaBEmH6/W0L7rwzqaRV9sW1eJs9JxFYQCnd67zUnzj8nnRlOjG+hhIG+Vsij
9
+ npsGbt28pefuNZJjO5q2clAlfSniIIHfIsU7/StEYu6FUGOjnwryZ0r5yJlr9RrE
10
+ Gs+q0DW8QnZ9UpAfuDFQZuIqeKQFFLE7nMmCGaA+0BN1nLl3fVHNbLHq7Avk8+Z+
11
+ ZuuvkdscbHlO/l+3xCNQ5nUnHwq0ADAbMLOlmiYYzqXoWLjmeI6me/clktJCfN2R
12
+ oZG3UQvvAgMBAAGjOTA3MAkGA1UdEwQCMAAwHQYDVR0OBBYEFMSJOEtHzE4l0azv
13
+ M0JK0kKNToK1MAsGA1UdDwQEAwIEsDANBgkqhkiG9w0BAQUFAAOCAQEAtOdE73qx
14
+ OH2ydi9oT2hS5f9G0y1Z70Tlwh+VGExyfxzVE9XwC+iPpJxNraiHYgF/9/oky7ZZ
15
+ R9q0/tJneuhAenZdiQkX7oi4O3v9wRS6YHoWBxMPFKVRLNTzvVJsbmfpCAlp5/5g
16
+ ps4wQFy5mibElGVlOobf/ghqZ25HS9J6kd0/C/ry0AUtTogsL7TxGwT4kbCx63ub
17
+ 3vywEEhsJUzfd97GCABmtQfRTldX/j7F1z/5wd8p+hfdox1iibds9ZtfaZA3KzKn
18
+ kchWN9B6zg9r1XMQ8BM2Jz0XoPanPe354+lWwjpkRKbFow/ZbQHcCLCq24+N6b6g
19
+ dgKfNDzwiDpqCA==
20
+ -----END CERTIFICATE-----
@@ -0,0 +1,37 @@
1
+ require 'net/ssh/errors'
2
+ require 'net/ssh/authentication/methods/abstract'
3
+
4
+ module Net
5
+ module SSH
6
+ module Authentication
7
+ module Methods
8
+
9
+ # Implements the "none" SSH authentication method.
10
+ class None < Abstract
11
+ # Attempt to authenticate as "none"
12
+ def authenticate(next_service, user="", password="")
13
+ send_message(userauth_request(user, next_service, "none"))
14
+ message = session.next_message
15
+
16
+ case message.type
17
+ when USERAUTH_SUCCESS
18
+ debug { "none succeeded" }
19
+ return true
20
+ when USERAUTH_FAILURE
21
+ debug { "none failed" }
22
+
23
+ raise Net::SSH::Authentication::DisallowedMethod unless
24
+ message[:authentications].split(/,/).include? 'none'
25
+
26
+ return false
27
+ else
28
+ raise Net::SSH::Exception, "unexpected reply to USERAUTH_REQUEST: #{message.type} (#{message.inspect})"
29
+ end
30
+
31
+ end
32
+ end
33
+
34
+ end
35
+ end
36
+ end
37
+ end
@@ -33,17 +33,17 @@ module Net; module SSH; module Test
33
33
  type = packet.read_byte
34
34
  raise "expected #{@type}, but got #{type}" if @type != type
35
35
 
36
- @data.zip(types).each do |expected, type|
37
- type ||= case expected
36
+ @data.zip(types).each do |expected, _type|
37
+ _type ||= case expected
38
38
  when nil then break
39
39
  when Numeric then :long
40
40
  when String then :string
41
41
  when TrueClass, FalseClass then :bool
42
42
  end
43
43
 
44
- actual = packet.send("read_#{type}")
44
+ actual = packet.send("read_#{_type}")
45
45
  next if expected.nil?
46
- raise "expected #{type} #{expected.inspect} but got #{actual.inspect}" unless expected == actual
46
+ raise "expected #{_type} #{expected.inspect} but got #{actual.inspect}" unless expected == actual
47
47
  end
48
48
  end
49
49
  end
@@ -51,7 +51,7 @@ module Net; module SSH
51
51
  MINOR = 6
52
52
 
53
53
  # The tiny component of this version of the Net::SSH library
54
- TINY = 3
54
+ TINY = 4
55
55
 
56
56
  # The current version of the Net::SSH library as a Version instance
57
57
  CURRENT = new(MAJOR, MINOR, TINY)
@@ -1,175 +1,191 @@
1
- @spec = Gem::Specification.new do |s|
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
+
6
+ Gem::Specification.new do |s|
2
7
  s.name = "net-ssh"
3
- s.rubyforge_project = 'net-ssh'
4
- s.version = "2.6.3"
5
- s.summary = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol."
6
- s.description = s.summary + " It allows you to write programs that invoke and interact with processes on remote servers, via SSH2."
8
+ s.version = "2.6.4"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
7
11
  s.authors = ["Jamis Buck", "Delano Mandelbaum"]
8
- s.email = ["net-ssh@solutious.com"]
9
- s.homepage = "http://github.com/net-ssh/net-ssh"
12
+ s.cert_chain = ["gem-public_cert.pem"]
13
+ s.date = "2013-02-06"
14
+ 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."
15
+ s.email = "net-ssh@solutious.com"
16
+ s.extra_rdoc_files = [
17
+ "LICENSE.txt",
18
+ "README.rdoc"
19
+ ]
20
+ s.files = [
21
+ "CHANGES.txt",
22
+ "LICENSE.txt",
23
+ "Manifest",
24
+ "README.rdoc",
25
+ "Rakefile",
26
+ "Rudyfile",
27
+ "THANKS.txt",
28
+ "gem-public_cert.pem",
29
+ "lib/net/ssh.rb",
30
+ "lib/net/ssh/authentication/agent.rb",
31
+ "lib/net/ssh/authentication/agent/java_pageant.rb",
32
+ "lib/net/ssh/authentication/agent/socket.rb",
33
+ "lib/net/ssh/authentication/constants.rb",
34
+ "lib/net/ssh/authentication/key_manager.rb",
35
+ "lib/net/ssh/authentication/methods/abstract.rb",
36
+ "lib/net/ssh/authentication/methods/hostbased.rb",
37
+ "lib/net/ssh/authentication/methods/keyboard_interactive.rb",
38
+ "lib/net/ssh/authentication/methods/none.rb",
39
+ "lib/net/ssh/authentication/methods/password.rb",
40
+ "lib/net/ssh/authentication/methods/publickey.rb",
41
+ "lib/net/ssh/authentication/pageant.rb",
42
+ "lib/net/ssh/authentication/session.rb",
43
+ "lib/net/ssh/buffer.rb",
44
+ "lib/net/ssh/buffered_io.rb",
45
+ "lib/net/ssh/config.rb",
46
+ "lib/net/ssh/connection/channel.rb",
47
+ "lib/net/ssh/connection/constants.rb",
48
+ "lib/net/ssh/connection/session.rb",
49
+ "lib/net/ssh/connection/term.rb",
50
+ "lib/net/ssh/errors.rb",
51
+ "lib/net/ssh/key_factory.rb",
52
+ "lib/net/ssh/known_hosts.rb",
53
+ "lib/net/ssh/loggable.rb",
54
+ "lib/net/ssh/packet.rb",
55
+ "lib/net/ssh/prompt.rb",
56
+ "lib/net/ssh/proxy/command.rb",
57
+ "lib/net/ssh/proxy/errors.rb",
58
+ "lib/net/ssh/proxy/http.rb",
59
+ "lib/net/ssh/proxy/socks4.rb",
60
+ "lib/net/ssh/proxy/socks5.rb",
61
+ "lib/net/ssh/ruby_compat.rb",
62
+ "lib/net/ssh/service/forward.rb",
63
+ "lib/net/ssh/test.rb",
64
+ "lib/net/ssh/test/channel.rb",
65
+ "lib/net/ssh/test/extensions.rb",
66
+ "lib/net/ssh/test/kex.rb",
67
+ "lib/net/ssh/test/local_packet.rb",
68
+ "lib/net/ssh/test/packet.rb",
69
+ "lib/net/ssh/test/remote_packet.rb",
70
+ "lib/net/ssh/test/script.rb",
71
+ "lib/net/ssh/test/socket.rb",
72
+ "lib/net/ssh/transport/algorithms.rb",
73
+ "lib/net/ssh/transport/cipher_factory.rb",
74
+ "lib/net/ssh/transport/constants.rb",
75
+ "lib/net/ssh/transport/ctr.rb",
76
+ "lib/net/ssh/transport/hmac.rb",
77
+ "lib/net/ssh/transport/hmac/abstract.rb",
78
+ "lib/net/ssh/transport/hmac/md5.rb",
79
+ "lib/net/ssh/transport/hmac/md5_96.rb",
80
+ "lib/net/ssh/transport/hmac/none.rb",
81
+ "lib/net/ssh/transport/hmac/ripemd160.rb",
82
+ "lib/net/ssh/transport/hmac/sha1.rb",
83
+ "lib/net/ssh/transport/hmac/sha1_96.rb",
84
+ "lib/net/ssh/transport/hmac/sha2_256.rb",
85
+ "lib/net/ssh/transport/hmac/sha2_256_96.rb",
86
+ "lib/net/ssh/transport/hmac/sha2_512.rb",
87
+ "lib/net/ssh/transport/hmac/sha2_512_96.rb",
88
+ "lib/net/ssh/transport/identity_cipher.rb",
89
+ "lib/net/ssh/transport/kex.rb",
90
+ "lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb",
91
+ "lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb",
92
+ "lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb",
93
+ "lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256.rb",
94
+ "lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb",
95
+ "lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb",
96
+ "lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb",
97
+ "lib/net/ssh/transport/key_expander.rb",
98
+ "lib/net/ssh/transport/openssl.rb",
99
+ "lib/net/ssh/transport/packet_stream.rb",
100
+ "lib/net/ssh/transport/server_version.rb",
101
+ "lib/net/ssh/transport/session.rb",
102
+ "lib/net/ssh/transport/state.rb",
103
+ "lib/net/ssh/verifiers/lenient.rb",
104
+ "lib/net/ssh/verifiers/null.rb",
105
+ "lib/net/ssh/verifiers/secure.rb",
106
+ "lib/net/ssh/verifiers/strict.rb",
107
+ "lib/net/ssh/version.rb",
108
+ "net-ssh.gemspec",
109
+ "setup.rb",
110
+ "support/arcfour_check.rb",
111
+ "support/ssh_tunnel_bug.rb",
112
+ "test/README.txt",
113
+ "test/authentication/methods/common.rb",
114
+ "test/authentication/methods/test_abstract.rb",
115
+ "test/authentication/methods/test_hostbased.rb",
116
+ "test/authentication/methods/test_keyboard_interactive.rb",
117
+ "test/authentication/methods/test_none.rb",
118
+ "test/authentication/methods/test_password.rb",
119
+ "test/authentication/methods/test_publickey.rb",
120
+ "test/authentication/test_agent.rb",
121
+ "test/authentication/test_key_manager.rb",
122
+ "test/authentication/test_session.rb",
123
+ "test/common.rb",
124
+ "test/configs/eqsign",
125
+ "test/configs/exact_match",
126
+ "test/configs/host_plus",
127
+ "test/configs/multihost",
128
+ "test/configs/nohost",
129
+ "test/configs/numeric_host",
130
+ "test/configs/wild_cards",
131
+ "test/connection/test_channel.rb",
132
+ "test/connection/test_session.rb",
133
+ "test/known_hosts/github",
134
+ "test/manual/test_forward.rb",
135
+ "test/start/test_transport.rb",
136
+ "test/test_all.rb",
137
+ "test/test_buffer.rb",
138
+ "test/test_buffered_io.rb",
139
+ "test/test_config.rb",
140
+ "test/test_key_factory.rb",
141
+ "test/test_known_hosts.rb",
142
+ "test/transport/hmac/test_md5.rb",
143
+ "test/transport/hmac/test_md5_96.rb",
144
+ "test/transport/hmac/test_none.rb",
145
+ "test/transport/hmac/test_ripemd160.rb",
146
+ "test/transport/hmac/test_sha1.rb",
147
+ "test/transport/hmac/test_sha1_96.rb",
148
+ "test/transport/hmac/test_sha2_256.rb",
149
+ "test/transport/hmac/test_sha2_256_96.rb",
150
+ "test/transport/hmac/test_sha2_512.rb",
151
+ "test/transport/hmac/test_sha2_512_96.rb",
152
+ "test/transport/kex/test_diffie_hellman_group14_sha1.rb",
153
+ "test/transport/kex/test_diffie_hellman_group1_sha1.rb",
154
+ "test/transport/kex/test_diffie_hellman_group_exchange_sha1.rb",
155
+ "test/transport/kex/test_diffie_hellman_group_exchange_sha256.rb",
156
+ "test/transport/kex/test_ecdh_sha2_nistp256.rb",
157
+ "test/transport/kex/test_ecdh_sha2_nistp384.rb",
158
+ "test/transport/kex/test_ecdh_sha2_nistp521.rb",
159
+ "test/transport/test_algorithms.rb",
160
+ "test/transport/test_cipher_factory.rb",
161
+ "test/transport/test_hmac.rb",
162
+ "test/transport/test_identity_cipher.rb",
163
+ "test/transport/test_packet_stream.rb",
164
+ "test/transport/test_server_version.rb",
165
+ "test/transport/test_session.rb",
166
+ "test/transport/test_state.rb"
167
+ ]
168
+ s.homepage = "https://github.com/net-ssh/net-ssh"
169
+ s.licenses = ["MIT"]
170
+ s.require_paths = ["lib"]
171
+ s.rubyforge_project = "net-ssh"
172
+ s.rubygems_version = "1.8.25"
173
+ s.signing_key = "/mnt/gem/gem-private_key.pem"
174
+ s.summary = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol."
10
175
 
11
- s.extra_rdoc_files = %w[README.rdoc THANKS.rdoc CHANGELOG.rdoc]
12
- s.has_rdoc = true
13
- s.rdoc_options = ["--line-numbers", "--title", s.summary, "--main", "README.rdoc"]
14
- s.require_paths = %w[lib]
15
- s.rubygems_version = '1.3.2'
176
+ if s.respond_to? :specification_version then
177
+ s.specification_version = 3
16
178
 
17
- # Note: this is run at package time not install time so if you are
18
- # running on jruby, you need to install jruby-pageant manually.
19
- if RUBY_PLATFORM == "java"
20
- s.add_dependency 'jruby-pageant', ">=1.1.1"
179
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
180
+ s.add_development_dependency(%q<test-unit>, [">= 0"])
181
+ s.add_development_dependency(%q<mocha>, [">= 0"])
182
+ else
183
+ s.add_dependency(%q<test-unit>, [">= 0"])
184
+ s.add_dependency(%q<mocha>, [">= 0"])
185
+ end
186
+ else
187
+ s.add_dependency(%q<test-unit>, [">= 0"])
188
+ s.add_dependency(%q<mocha>, [">= 0"])
21
189
  end
22
-
23
- s.add_development_dependency 'test-unit'
24
- s.add_development_dependency 'mocha'
25
-
26
- s.executables = %w[]
27
-
28
- # = MANIFEST =
29
- s.files = %w(
30
- CHANGELOG.rdoc
31
- Manifest
32
- README.rdoc
33
- LICENSE.rdoc
34
- Rakefile
35
- Rudyfile
36
- THANKS.rdoc
37
- lib/net/ssh.rb
38
- lib/net/ssh/authentication/agent.rb
39
- lib/net/ssh/authentication/agent/java_pageant.rb
40
- lib/net/ssh/authentication/agent/socket.rb
41
- lib/net/ssh/authentication/constants.rb
42
- lib/net/ssh/authentication/key_manager.rb
43
- lib/net/ssh/authentication/methods/abstract.rb
44
- lib/net/ssh/authentication/methods/hostbased.rb
45
- lib/net/ssh/authentication/methods/keyboard_interactive.rb
46
- lib/net/ssh/authentication/methods/password.rb
47
- lib/net/ssh/authentication/methods/publickey.rb
48
- lib/net/ssh/authentication/pageant.rb
49
- lib/net/ssh/authentication/session.rb
50
- lib/net/ssh/buffer.rb
51
- lib/net/ssh/buffered_io.rb
52
- lib/net/ssh/config.rb
53
- lib/net/ssh/connection/channel.rb
54
- lib/net/ssh/connection/constants.rb
55
- lib/net/ssh/connection/session.rb
56
- lib/net/ssh/connection/term.rb
57
- lib/net/ssh/errors.rb
58
- lib/net/ssh/key_factory.rb
59
- lib/net/ssh/known_hosts.rb
60
- lib/net/ssh/loggable.rb
61
- lib/net/ssh/packet.rb
62
- lib/net/ssh/prompt.rb
63
- lib/net/ssh/proxy/command.rb
64
- lib/net/ssh/proxy/errors.rb
65
- lib/net/ssh/proxy/http.rb
66
- lib/net/ssh/proxy/socks4.rb
67
- lib/net/ssh/proxy/socks5.rb
68
- lib/net/ssh/ruby_compat.rb
69
- lib/net/ssh/service/forward.rb
70
- lib/net/ssh/test.rb
71
- lib/net/ssh/test/channel.rb
72
- lib/net/ssh/test/extensions.rb
73
- lib/net/ssh/test/kex.rb
74
- lib/net/ssh/test/local_packet.rb
75
- lib/net/ssh/test/packet.rb
76
- lib/net/ssh/test/remote_packet.rb
77
- lib/net/ssh/test/script.rb
78
- lib/net/ssh/test/socket.rb
79
- lib/net/ssh/transport/algorithms.rb
80
- lib/net/ssh/transport/cipher_factory.rb
81
- lib/net/ssh/transport/constants.rb
82
- lib/net/ssh/transport/ctr.rb
83
- lib/net/ssh/transport/hmac.rb
84
- lib/net/ssh/transport/hmac/abstract.rb
85
- lib/net/ssh/transport/hmac/md5.rb
86
- lib/net/ssh/transport/hmac/md5_96.rb
87
- lib/net/ssh/transport/hmac/none.rb
88
- lib/net/ssh/transport/hmac/ripemd160.rb
89
- lib/net/ssh/transport/hmac/sha1.rb
90
- lib/net/ssh/transport/hmac/sha1_96.rb
91
- lib/net/ssh/transport/hmac/sha2_256.rb
92
- lib/net/ssh/transport/hmac/sha2_256_96.rb
93
- lib/net/ssh/transport/hmac/sha2_512.rb
94
- lib/net/ssh/transport/hmac/sha2_512_96.rb
95
- lib/net/ssh/transport/identity_cipher.rb
96
- lib/net/ssh/transport/kex.rb
97
- lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb
98
- lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb
99
- lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb
100
- lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256.rb
101
- lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb
102
- lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb
103
- lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb
104
- lib/net/ssh/transport/key_expander.rb
105
- lib/net/ssh/transport/openssl.rb
106
- lib/net/ssh/transport/packet_stream.rb
107
- lib/net/ssh/transport/server_version.rb
108
- lib/net/ssh/transport/session.rb
109
- lib/net/ssh/transport/state.rb
110
- lib/net/ssh/verifiers/lenient.rb
111
- lib/net/ssh/verifiers/null.rb
112
- lib/net/ssh/verifiers/secure.rb
113
- lib/net/ssh/verifiers/strict.rb
114
- lib/net/ssh/version.rb
115
- net-ssh.gemspec
116
- setup.rb
117
- support/arcfour_check.rb
118
- support/ssh_tunnel_bug.rb
119
- test/README.txt
120
- test/authentication/methods/common.rb
121
- test/authentication/methods/test_abstract.rb
122
- test/authentication/methods/test_hostbased.rb
123
- test/authentication/methods/test_keyboard_interactive.rb
124
- test/authentication/methods/test_password.rb
125
- test/authentication/methods/test_publickey.rb
126
- test/authentication/test_agent.rb
127
- test/authentication/test_key_manager.rb
128
- test/authentication/test_session.rb
129
- test/common.rb
130
- test/configs/eqsign
131
- test/configs/exact_match
132
- test/configs/host_plus
133
- test/configs/multihost
134
- test/configs/nohost
135
- test/configs/numeric_host
136
- test/configs/wild_cards
137
- test/connection/test_channel.rb
138
- test/connection/test_session.rb
139
- test/manual/test_forward.rb
140
- test/start/test_transport.rb
141
- test/known_hosts/github
142
- test/test_all.rb
143
- test/test_buffer.rb
144
- test/test_buffered_io.rb
145
- test/test_config.rb
146
- test/test_key_factory.rb
147
- test/test_known_hosts.rb
148
- test/transport/hmac/test_md5.rb
149
- test/transport/hmac/test_md5_96.rb
150
- test/transport/hmac/test_none.rb
151
- test/transport/hmac/test_ripemd160.rb
152
- test/transport/hmac/test_sha1.rb
153
- test/transport/hmac/test_sha1_96.rb
154
- test/transport/hmac/test_sha2_256.rb
155
- test/transport/hmac/test_sha2_256_96.rb
156
- test/transport/hmac/test_sha2_512.rb
157
- test/transport/hmac/test_sha2_512_96.rb
158
- test/transport/kex/test_diffie_hellman_group14_sha1.rb
159
- test/transport/kex/test_diffie_hellman_group1_sha1.rb
160
- test/transport/kex/test_diffie_hellman_group_exchange_sha1.rb
161
- test/transport/kex/test_diffie_hellman_group_exchange_sha256.rb
162
- test/transport/kex/test_ecdh_sha2_nistp256.rb
163
- test/transport/kex/test_ecdh_sha2_nistp384.rb
164
- test/transport/kex/test_ecdh_sha2_nistp521.rb
165
- test/transport/test_algorithms.rb
166
- test/transport/test_cipher_factory.rb
167
- test/transport/test_hmac.rb
168
- test/transport/test_identity_cipher.rb
169
- test/transport/test_packet_stream.rb
170
- test/transport/test_server_version.rb
171
- test/transport/test_session.rb
172
- test/transport/test_state.rb
173
- )
174
-
175
190
  end
191
+
@@ -0,0 +1,41 @@
1
+ require 'common'
2
+ require 'net/ssh/authentication/methods/none'
3
+ require 'authentication/methods/common'
4
+
5
+ module Authentication; module Methods
6
+
7
+ class TestNone < Test::Unit::TestCase
8
+ include Common
9
+
10
+ def test_authenticate_should_raise_if_none_disallowed
11
+ transport.expect do |t,packet|
12
+ assert_equal USERAUTH_REQUEST, packet.type
13
+ assert_equal "jamis", packet.read_string
14
+ assert_equal "ssh-connection", packet.read_string
15
+ assert_equal "none", packet.read_string
16
+
17
+ t.return(USERAUTH_FAILURE, :string, "publickey")
18
+ end
19
+
20
+ assert_raises Net::SSH::Authentication::DisallowedMethod do
21
+ subject.authenticate("ssh-connection", "jamis", "pass")
22
+ end
23
+ end
24
+
25
+ def test_authenticate_should_return_true
26
+ transport.expect do |t,packet|
27
+ assert_equal USERAUTH_REQUEST, packet.type
28
+ t.return(USERAUTH_SUCCESS)
29
+ end
30
+
31
+ assert subject.authenticate("ssh-connection", "", "")
32
+ end
33
+
34
+ private
35
+
36
+ def subject(options={})
37
+ @subject ||= Net::SSH::Authentication::Methods::None.new(session(options), options)
38
+ end
39
+ end
40
+
41
+ end; end
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: 2.6.3
4
+ version: 2.6.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,40 @@ authors:
9
9
  - Delano Mandelbaum
10
10
  autorequire:
11
11
  bindir: bin
12
- cert_chain: []
13
- date: 2013-01-10 00:00:00.000000000 Z
12
+ cert_chain:
13
+ - !binary |-
14
+ LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUROakNDQWg2Z0F3SUJB
15
+ Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREJCTVE4d0RRWURWUVFEREFaa1pX
16
+ eGgKYm04eEdUQVhCZ29Ka2lhSmsvSXNaQUVaRmdsemIyeDFkR2x2ZFhNeEV6
17
+ QVJCZ29Ka2lhSmsvSXNaQUVaRmdOagpiMjB3SGhjTk1UTXdNakEyTVRFMU56
18
+ UTFXaGNOTVRRd01qQTJNVEUxTnpRMVdqQkJNUTh3RFFZRFZRUUREQVprClpX
19
+ eGhibTh4R1RBWEJnb0praWFKay9Jc1pBRVpGZ2x6YjJ4MWRHbHZkWE14RXpB
20
+ UkJnb0praWFKay9Jc1pBRVoKRmdOamIyMHdnZ0VpTUEwR0NTcUdTSWIzRFFF
21
+ QkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEZzFoTXRsMFhzTXVVSwpBS1RnWVd2
22
+ M2dqajd2dUVzRTJFalQrdnlCZzgvTHBxVlZ3WnppaWFlYkpUOUlaaVErc0NG
23
+ cWJpYWtqMGI1M3BJCmhnMXlPYUJFbUg2L1cwTDdyd3pxYVJWOXNXMWVKczlK
24
+ eEZZUUNuZDY3elVuemo4bm5SbE9qRytoaElHK1ZzaWoKbnBzR2J0MjhwZWZ1
25
+ TlpKak81cTJjbEFsZlNuaUlJSGZJc1U3L1N0RVl1NkZVR09qbndyeVowcjV5
26
+ SmxyOVJyRQpHcytxMERXOFFuWjlVcEFmdURGUVp1SXFlS1FGRkxFN25NbUNH
27
+ YUErMEJOMW5MbDNmVkhOYkxIcTdBdms4K1orClp1dXZrZHNjYkhsTy9sKzN4
28
+ Q05RNW5Vbkh3cTBBREFiTUxPbG1pWVl6cVhvV0xqbWVJNm1lL2Nsa3RKQ2ZO
29
+ MlIKb1pHM1VRdnZBZ01CQUFHak9UQTNNQWtHQTFVZEV3UUNNQUF3SFFZRFZS
30
+ ME9CQllFRk1TSk9FdEh6RTRsMGF6dgpNMEpLMGtLTlRvSzFNQXNHQTFVZER3
31
+ UUVBd0lFc0RBTkJna3Foa2lHOXcwQkFRVUZBQU9DQVFFQXRPZEU3M3F4Ck9I
32
+ MnlkaTlvVDJoUzVmOUcweTFaNzBUbHdoK1ZHRXh5Znh6VkU5WHdDK2lQcEp4
33
+ TnJhaUhZZ0YvOS9va3k3WloKUjlxMC90Sm5ldWhBZW5aZGlRa1g3b2k0TzN2
34
+ OXdSUzZZSG9XQnhNUEZLVlJMTlR6dlZKc2JtZnBDQWxwNS81ZwpwczR3UUZ5
35
+ NW1pYkVsR1ZsT29iZi9naHFaMjVIUzlKNmtkMC9DL3J5MEFVdFRvZ3NMN1R4
36
+ R3dUNGtiQ3g2M3ViCjN2eXdFRWhzSlV6ZmQ5N0dDQUJtdFFmUlRsZFgvajdG
37
+ MXovNXdkOHAraGZkb3gxaWliZHM5WnRmYVpBM0t6S24Ka2NoV045QjZ6Zzly
38
+ MVhNUThCTTJKejBYb1BhblBlMzU0K2xXd2pwa1JLYkZvdy9aYlFIY0NMQ3Ey
39
+ NCtONmI2ZwpkZ0tmTkR6d2lEcHFDQT09Ci0tLS0tRU5EIENFUlRJRklDQVRF
40
+ LS0tLS0K
41
+ date: 2013-02-06 00:00:00.000000000 Z
14
42
  dependencies:
15
43
  - !ruby/object:Gem::Dependency
16
44
  name: test-unit
17
- requirement: &70335346122740 !ruby/object:Gem::Requirement
45
+ requirement: !ruby/object:Gem::Requirement
18
46
  none: false
19
47
  requirements:
20
48
  - - ! '>='
@@ -22,10 +50,15 @@ dependencies:
22
50
  version: '0'
23
51
  type: :development
24
52
  prerelease: false
25
- version_requirements: *70335346122740
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ! '>='
57
+ - !ruby/object:Gem::Version
58
+ version: '0'
26
59
  - !ruby/object:Gem::Dependency
27
60
  name: mocha
28
- requirement: &70335346119640 !ruby/object:Gem::Requirement
61
+ requirement: !ruby/object:Gem::Requirement
29
62
  none: false
30
63
  requirements:
31
64
  - - ! '>='
@@ -33,26 +66,30 @@ dependencies:
33
66
  version: '0'
34
67
  type: :development
35
68
  prerelease: false
36
- version_requirements: *70335346119640
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ! '>='
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
37
75
  description: ! 'Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.
38
76
  It allows you to write programs that invoke and interact with processes on remote
39
77
  servers, via SSH2.'
40
- email:
41
- - net-ssh@solutious.com
78
+ email: net-ssh@solutious.com
42
79
  executables: []
43
80
  extensions: []
44
81
  extra_rdoc_files:
82
+ - LICENSE.txt
45
83
  - README.rdoc
46
- - THANKS.rdoc
47
- - CHANGELOG.rdoc
48
84
  files:
49
- - CHANGELOG.rdoc
85
+ - CHANGES.txt
86
+ - LICENSE.txt
50
87
  - Manifest
51
88
  - README.rdoc
52
- - LICENSE.rdoc
53
89
  - Rakefile
54
90
  - Rudyfile
55
- - THANKS.rdoc
91
+ - THANKS.txt
92
+ - gem-public_cert.pem
56
93
  - lib/net/ssh.rb
57
94
  - lib/net/ssh/authentication/agent.rb
58
95
  - lib/net/ssh/authentication/agent/java_pageant.rb
@@ -62,6 +99,7 @@ files:
62
99
  - lib/net/ssh/authentication/methods/abstract.rb
63
100
  - lib/net/ssh/authentication/methods/hostbased.rb
64
101
  - lib/net/ssh/authentication/methods/keyboard_interactive.rb
102
+ - lib/net/ssh/authentication/methods/none.rb
65
103
  - lib/net/ssh/authentication/methods/password.rb
66
104
  - lib/net/ssh/authentication/methods/publickey.rb
67
105
  - lib/net/ssh/authentication/pageant.rb
@@ -140,6 +178,7 @@ files:
140
178
  - test/authentication/methods/test_abstract.rb
141
179
  - test/authentication/methods/test_hostbased.rb
142
180
  - test/authentication/methods/test_keyboard_interactive.rb
181
+ - test/authentication/methods/test_none.rb
143
182
  - test/authentication/methods/test_password.rb
144
183
  - test/authentication/methods/test_publickey.rb
145
184
  - test/authentication/test_agent.rb
@@ -155,9 +194,9 @@ files:
155
194
  - test/configs/wild_cards
156
195
  - test/connection/test_channel.rb
157
196
  - test/connection/test_session.rb
197
+ - test/known_hosts/github
158
198
  - test/manual/test_forward.rb
159
199
  - test/start/test_transport.rb
160
- - test/known_hosts/github
161
200
  - test/test_all.rb
162
201
  - test/test_buffer.rb
163
202
  - test/test_buffered_io.rb
@@ -189,15 +228,11 @@ files:
189
228
  - test/transport/test_server_version.rb
190
229
  - test/transport/test_session.rb
191
230
  - test/transport/test_state.rb
192
- homepage: http://github.com/net-ssh/net-ssh
193
- licenses: []
231
+ homepage: https://github.com/net-ssh/net-ssh
232
+ licenses:
233
+ - MIT
194
234
  post_install_message:
195
- rdoc_options:
196
- - --line-numbers
197
- - --title
198
- - ! 'Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.'
199
- - --main
200
- - README.rdoc
235
+ rdoc_options: []
201
236
  require_paths:
202
237
  - lib
203
238
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -214,7 +249,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
214
249
  version: '0'
215
250
  requirements: []
216
251
  rubyforge_project: net-ssh
217
- rubygems_version: 1.8.10
252
+ rubygems_version: 1.8.25
218
253
  signing_key:
219
254
  specification_version: 3
220
255
  summary: ! 'Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.'
Binary file
@@ -1,19 +0,0 @@
1
- Net::SSH was originally written by Jamis Buck <jamis@37signals.com>. In
2
- addition, the following individuals are gratefully acknowledged for their
3
- contributions:
4
-
5
- GOTOU Yuuzou <gotoyuzo@notwork.org>
6
- * help and code related to OpenSSL
7
-
8
- Guillaume Marçais <guillaume.marcais@free.fr>
9
- * support for communicating with the the PuTTY "pageant" process
10
-
11
- Daniel Berger <djberg96@yahoo.com>
12
- * help getting unit tests in earlier Net::SSH versions to pass in Windows
13
- * initial version of Net::SSH::Config provided inspiration and encouragement
14
-
15
- Chris Andrews <chris@nodnol.org> and Lee Jensen <lee@outerim.com>
16
- * support for ssh agent forwarding
17
-
18
- Hiroshi Nakamura
19
- * fixed errors with JRuby tests