net-ssh 3.1.0.beta3 → 3.1.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e9170e4ec18254639ebeab82be271d685637f44f
4
- data.tar.gz: 02f77daa8e46de9274ee27a9c2a432a3283df456
3
+ metadata.gz: 1186f0f901ff1e9fcfa25d956c044ee53a54bee8
4
+ data.tar.gz: edac339140a2f3d294dd1cd2035c53a205178634
5
5
  SHA512:
6
- metadata.gz: b5c05d3ed42d10f531f644c6eed5d57e481a5c67f0948f17b2e410371e447bcf472293c3821cc66c54eaff6be4d144184e6be92a264402003b552417f6fe7853
7
- data.tar.gz: 2014b67019c22d96d73248e90a0c086d90b0824c77b6fe23786dd6a33c38264b60d135f1aacd06087319668d59327c62fc7b9861ec873b8f8d120a14e9e27e5d
6
+ metadata.gz: ab441807f815f8e6a6ef089643dcb90e2cbcf288aedb63b28f4892ec7daf20f8a2da962e797b7ff7e7454c51f83437dd2a9f61922a982d06caa7fc2692f32fcf
7
+ data.tar.gz: a393728bbe3395b1a118d43864c414f421cff17061500ad59143c25fafd1c704f7e42b137fb1ad05dde4ec43f78b1c22fe7b4d1675f2f0f639bb6d8f91774542
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -1,3 +1,8 @@
1
+ === 3.1.0.rc1
2
+
3
+ * fix Secure#verify [Jean Boussier]
4
+ * use the smallest of don't spend longer time than keepalive if it's configured [Eugene Kenny]
5
+
1
6
  === 3.1.0.beta3
2
7
 
3
8
  * forward/on_open_failed should stop listning closed socket otherwise it locks #269 [Miklos Fazekas,Scott McGillivray]
@@ -609,9 +609,11 @@ module Net; module SSH; module Connection
609
609
  end
610
610
 
611
611
  def io_select_wait(wait)
612
- return wait if wait
613
- return wait unless @keepalive.enabled?
614
- @keepalive.interval
612
+ if @keepalive.enabled?
613
+ [wait, @keepalive.interval].compact.min
614
+ else
615
+ wait
616
+ end
615
617
  end
616
618
 
617
619
  MAP = Constants.constants.inject({}) do |memo, name|
@@ -30,7 +30,7 @@ module Net; module SSH; module Verifiers
30
30
  # If a match was found, return true. Otherwise, raise an exception
31
31
  # indicating that the key was not recognized.
32
32
  unless found
33
- process_cache_miss(host_keys, HostKeyMismatch, "does not match")
33
+ process_cache_miss(host_keys, arguments, HostKeyMismatch, "does not match")
34
34
  end
35
35
 
36
36
  found
@@ -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 = "beta3"
58
+ PRE = "rc1"
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)
@@ -2,17 +2,17 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: net-ssh 3.1.0.beta3 ruby lib
5
+ # stub: net-ssh 3.1.0.rc1 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "net-ssh"
9
- s.version = "3.1.0.beta3"
9
+ s.version = "3.1.0.rc1"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Jamis Buck", "Delano Mandelbaum", "Mikl\u{f3}s Fazekas"]
14
14
  s.cert_chain = ["net-ssh-public_cert.pem"]
15
- s.date = "2016-03-07"
15
+ s.date = "2016-03-12"
16
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
17
  s.email = "net-ssh@solutious.com"
18
18
  s.extra_rdoc_files = [
@@ -184,7 +184,8 @@ Gem::Specification.new do |s|
184
184
  "test/transport/test_packet_stream.rb",
185
185
  "test/transport/test_server_version.rb",
186
186
  "test/transport/test_session.rb",
187
- "test/transport/test_state.rb"
187
+ "test/transport/test_state.rb",
188
+ "test/verifiers/test_secure.rb"
188
189
  ]
189
190
  s.homepage = "https://github.com/net-ssh/net-ssh"
190
191
  s.licenses = ["MIT"]
@@ -427,6 +427,14 @@ module Connection
427
427
  session(options).process
428
428
  end
429
429
 
430
+ def test_process_should_call_io_select_with_wait_if_provided_and_minimum
431
+ timeout = 10
432
+ wait = 5
433
+ options = { :keepalive => true, :keepalive_interval => timeout }
434
+ IO.expects(:select).with([socket],[],nil,wait).returns([[],[],[]])
435
+ session(options).process(wait)
436
+ end
437
+
430
438
  def test_loop_should_call_process_until_process_returns_false
431
439
  IO.stubs(:select).with([socket],[],nil,nil).returns([[],[],[]])
432
440
  session.expects(:process).with(nil).times(4).returns(true,true,true,false).yields
@@ -0,0 +1,40 @@
1
+ require 'common'
2
+ require 'net/ssh/verifiers/secure'
3
+ require 'ostruct'
4
+
5
+ class TestSecure < Test::Unit::TestCase
6
+ def test_raises_unknown_key_error_if_empty
7
+ secure_verifier = Net::SSH::Verifiers::Secure.new
8
+ host_keys = []
9
+ def host_keys.host
10
+ 'foo'
11
+ end
12
+ assert_raises(Net::SSH::HostKeyUnknown) {
13
+ secure_verifier.verify(session:OpenStruct.new(host_keys:host_keys))
14
+ }
15
+ end
16
+
17
+ def test_passess_if_sam
18
+ secure_verifier = Net::SSH::Verifiers::Secure.new
19
+ key = OpenStruct.new(ssh_type:'key_type',to_blob:'keyblob')
20
+ host_keys = [key]
21
+ def host_keys.host
22
+ 'foo'
23
+ end
24
+ secure_verifier.verify(session:OpenStruct.new(host_keys:host_keys), key:key)
25
+ end
26
+
27
+ def test_raises_mismatch_error_if_not_the_same
28
+ secure_verifier = Net::SSH::Verifiers::Secure.new
29
+ key_in_known_hosts = OpenStruct.new(ssh_type:'key_type',to_blob:'keyblob')
30
+ key_actual = OpenStruct.new(ssh_type:'key_type',to_blob:'not keyblob')
31
+
32
+ host_keys = [key_in_known_hosts]
33
+ def host_keys.host
34
+ 'foo'
35
+ end
36
+ assert_raises(Net::SSH::HostKeyMismatch) {
37
+ secure_verifier.verify(session:OpenStruct.new(host_keys:host_keys), key:key_actual)
38
+ }
39
+ end
40
+ 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: 3.1.0.beta3
4
+ version: 3.1.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamis Buck
@@ -31,7 +31,7 @@ cert_chain:
31
31
  s/ZUKye79ELwFYKJOhjW5g725OL3hy+llhEleytwKRwgXFQBPTC4f5UkdxZVVWGH
32
32
  e2C9M1m/2odPZo8h
33
33
  -----END CERTIFICATE-----
34
- date: 2016-03-07 00:00:00.000000000 Z
34
+ date: 2016-03-12 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: test-unit
@@ -236,6 +236,7 @@ files:
236
236
  - test/transport/test_server_version.rb
237
237
  - test/transport/test_session.rb
238
238
  - test/transport/test_state.rb
239
+ - test/verifiers/test_secure.rb
239
240
  homepage: https://github.com/net-ssh/net-ssh
240
241
  licenses:
241
242
  - MIT
metadata.gz.sig CHANGED
Binary file