net-ssh 2.6.2 → 2.6.3

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.
@@ -1,4 +1,23 @@
1
1
 
2
+ === 2.6.3 / 10 Jan 2013
3
+
4
+ * Small doc fix and correct error class for PKey::EC key type [Andreas Wolff]
5
+ * Improve test dependencies [Kenichi Kamiya]
6
+
7
+
8
+ === 2.6.2 / 22 Nov 2012
9
+
10
+ * Net::SSH.start now returns result of block [mhuffnagle]
11
+ * Add stderr handling to Net::SSH::Test [ohrite]
12
+ * Fix Invalid key size in JRuby [ohrite]
13
+
14
+
15
+ === 2.6.1 / 18 Oct 2012
16
+
17
+ * Remove platform specific jruby dependency from gemspec
18
+ * Changed encoding of file to prevent warnings when generating docs [iltempo]
19
+
20
+
2
21
  === 2.6.0 / 19 Sep 2012
3
22
 
4
23
  * Use OpenSSL::PKey.read to read arbitrary private key. [nagachika]
@@ -10,7 +29,7 @@
10
29
 
11
30
  === 2.5.2 / 25 May 2012
12
31
 
13
- * Fix for Net::SSH::KnownHosts::SUPPORTED_TYPE [Marco Sandrini]
32
+ * Fix for Net::SSH::KnownHosts::SUPPORTED_TYPE [Marco Sandrini]
14
33
 
15
34
  === 2.5.1 / 24 May 2012
16
35
 
@@ -42,7 +42,7 @@ module Net
42
42
  puts(instruction) unless instruction.empty?
43
43
  end
44
44
 
45
- lang_tag = message.read_string
45
+ _ = message.read_string # lang_tag
46
46
  responses =[]
47
47
 
48
48
  message.read_long.times do
@@ -54,7 +54,7 @@ module Net; module SSH; module Authentication
54
54
  debug { "beginning authentication of `#{username}'" }
55
55
 
56
56
  transport.send_message(transport.service_request("ssh-userauth"))
57
- message = expect_message(SERVICE_ACCEPT)
57
+ expect_message(SERVICE_ACCEPT)
58
58
 
59
59
  key_manager = KeyManager.new(logger, options)
60
60
  keys.each { |key| key_manager.add(key) } unless keys.empty?
@@ -70,7 +70,7 @@ module Net; module SSH; module Authentication
70
70
  debug { "trying #{name}" }
71
71
  begin
72
72
  method = Methods.const_get(name.split(/\W+/).map { |p| p.capitalize }.join).new(self, :key_manager => key_manager)
73
- rescue NameError => ne
73
+ rescue NameError
74
74
  debug{"Mechanism #{name} was requested, but isn't a known type. Ignoring it."}
75
75
  next
76
76
  end
@@ -261,7 +261,7 @@ module Net; module SSH
261
261
  else
262
262
  begin
263
263
  key = OpenSSL::PKey::EC.read_keyblob($1, self)
264
- rescue OpenSSL::PKey::ECError => e
264
+ rescue OpenSSL::PKey::ECError
265
265
  raise NotImplementedError, "unsupported key type `#{type}'"
266
266
  end
267
267
  end
@@ -61,7 +61,7 @@ module Net; module SSH
61
61
  error_class = OpenSSL::PKey::RSAError
62
62
  elsif data.match(/-----BEGIN EC PRIVATE KEY-----/) && defined?(OpenSSL::PKey::EC)
63
63
  key_type = OpenSSL::PKey::EC
64
- error_class = OpenSSL::PKey::RCError
64
+ error_class = OpenSSL::PKey::ECError
65
65
  elsif data.match(/-----BEGIN (.+) PRIVATE KEY-----/)
66
66
  raise OpenSSL::PKey::PKeyError, "not a supported key type '#{$1}'"
67
67
  else
@@ -105,7 +105,7 @@ module Net; module SSH
105
105
  # the file describes an RSA or DSA key, and will load it
106
106
  # appropriately. The new public key is returned.
107
107
  def load_data_public_key(data, filename="")
108
- type, blob = data.split(/ /)
108
+ _, blob = data.split(/ /)
109
109
 
110
110
  raise Net::SSH::Exception, "public key at #{filename} is not valid" if blob.nil?
111
111
 
@@ -177,7 +177,7 @@ module Net; module SSH; module Service
177
177
  # time a session channel is opened, when the connection was created with
178
178
  # :forward_agent set to true:
179
179
  #
180
- # Net::SSH.start("remote.host", "me", :forwrd_agent => true) do |ssh|
180
+ # Net::SSH.start("remote.host", "me", :forward_agent => true) do |ssh|
181
181
  # ssh.open_channel do |ch|
182
182
  # # agent will be automatically forwarded by this point
183
183
  # end
@@ -263,7 +263,7 @@ module Net; module SSH; module Transport
263
263
  # TODO: if first_kex_packet_follows, we need to try to skip the
264
264
  # actual kexinit stuff and try to guess what the server is doing...
265
265
  # need to read more about this scenario.
266
- first_kex_packet_follows = packet.read_bool
266
+ # first_kex_packet_follows = packet.read_bool
267
267
 
268
268
  return data
269
269
  end
@@ -22,5 +22,5 @@ module Net; module SSH; module Transport
22
22
 
23
23
  return k
24
24
  end
25
- end
25
+ end
26
26
  end; end; end
@@ -153,7 +153,7 @@ module OpenSSL
153
153
  key.public_key = point
154
154
 
155
155
  return key
156
- rescue OpenSSL::PKey::ECError => e
156
+ rescue OpenSSL::PKey::ECError
157
157
  raise NotImplementedError, "unsupported key type `#{type}'"
158
158
  end
159
159
 
@@ -82,7 +82,11 @@ module Net; module SSH; module Transport
82
82
  def next_packet(mode=:nonblock)
83
83
  case mode
84
84
  when :nonblock then
85
- fill if available_for_read?
85
+ if available_for_read?
86
+ if fill <= 0
87
+ raise Net::SSH::Disconnect, "connection closed by remote host"
88
+ end
89
+ end
86
90
  poll_next_packet
87
91
 
88
92
  when :block then
@@ -215,7 +219,6 @@ module Net; module SSH; module Transport
215
219
  padding_length = @packet.read_byte
216
220
 
217
221
  payload = @packet.read(@packet_length - padding_length - 1)
218
- padding = @packet.read(padding_length) if padding_length > 0
219
222
 
220
223
  my_computed_hmac = server.hmac.digest([server.sequence_number, @packet.content].pack("NA*"))
221
224
  raise Net::SSH::Exception, "corrupted mac detected" if real_hmac != my_computed_hmac
@@ -46,7 +46,7 @@ module Net; module SSH; module Transport
46
46
  begin
47
47
  b = socket.readpartial(1)
48
48
  raise Net::SSH::Disconnect, "connection closed by remote host" if b.nil?
49
- rescue EOFError => e
49
+ rescue EOFError
50
50
  raise Net::SSH::Disconnect, "connection closed by remote host"
51
51
  end
52
52
  @version << b
@@ -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 = 2
54
+ TINY = 3
55
55
 
56
56
  # The current version of the Net::SSH library as a Version instance
57
57
  CURRENT = new(MAJOR, MINOR, TINY)
@@ -1,27 +1,30 @@
1
1
  @spec = Gem::Specification.new do |s|
2
2
  s.name = "net-ssh"
3
3
  s.rubyforge_project = 'net-ssh'
4
- s.version = "2.6.2"
4
+ s.version = "2.6.3"
5
5
  s.summary = "Net::SSH: a pure-Ruby implementation of the SSH2 client protocol."
6
6
  s.description = s.summary + " It allows you to write programs that invoke and interact with processes on remote servers, via SSH2."
7
7
  s.authors = ["Jamis Buck", "Delano Mandelbaum"]
8
8
  s.email = ["net-ssh@solutious.com"]
9
9
  s.homepage = "http://github.com/net-ssh/net-ssh"
10
-
10
+
11
11
  s.extra_rdoc_files = %w[README.rdoc THANKS.rdoc CHANGELOG.rdoc]
12
12
  s.has_rdoc = true
13
13
  s.rdoc_options = ["--line-numbers", "--title", s.summary, "--main", "README.rdoc"]
14
14
  s.require_paths = %w[lib]
15
15
  s.rubygems_version = '1.3.2'
16
-
16
+
17
17
  # Note: this is run at package time not install time so if you are
18
18
  # running on jruby, you need to install jruby-pageant manually.
19
19
  if RUBY_PLATFORM == "java"
20
20
  s.add_dependency 'jruby-pageant', ">=1.1.1"
21
21
  end
22
-
22
+
23
+ s.add_development_dependency 'test-unit'
24
+ s.add_development_dependency 'mocha'
25
+
23
26
  s.executables = %w[]
24
-
27
+
25
28
  # = MANIFEST =
26
29
  s.files = %w(
27
30
  CHANGELOG.rdoc
@@ -1,7 +1,8 @@
1
1
  $LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
2
2
  gem "test-unit" # http://rubyforge.org/pipermail/test-unit-tracker/2009-July/000075.html
3
+ gem 'mocha'
3
4
  require 'test/unit'
4
- require 'mocha'
5
+ require 'mocha/setup'
5
6
  require 'net/ssh/buffer'
6
7
  require 'net/ssh/config'
7
8
  require 'net/ssh/loggable'
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.2
4
+ version: 2.6.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,8 +10,30 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-11-22 00:00:00.000000000 Z
14
- dependencies: []
13
+ date: 2013-01-10 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: test-unit
17
+ requirement: &70335346122740 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: *70335346122740
26
+ - !ruby/object:Gem::Dependency
27
+ name: mocha
28
+ requirement: &70335346119640 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: *70335346119640
15
37
  description: ! 'Net::SSH: a pure-Ruby implementation of the SSH2 client protocol.
16
38
  It allows you to write programs that invoke and interact with processes on remote
17
39
  servers, via SSH2.'