ssh_scan 0.0.26 → 0.0.27

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d24a75be619ed3b8567cce7be9e5ac20b0acd720
4
- data.tar.gz: 65d64750b90635a8e146752fc74671150cbfddf0
3
+ metadata.gz: 3a533f0fb3e5546f5453e8aa849e6319e89018da
4
+ data.tar.gz: 1277467584f2809bc0e6bf7c7e39ea2bd9d45a02
5
5
  SHA512:
6
- metadata.gz: 699dadeff7f4c746b64f08e9119bc19c2186f79a07843e202b98b7e05178ef10cea6b728e355dab134e2aa33f0c95cb2a4b229a0aa3fa3277f9dc0b1e969fc3b
7
- data.tar.gz: 612f62c3345e61807a0fee2a021b3a7f8d83d3e2fb10ad32c7f2acee1929c91f8759e30c46c823c9ea91d9c2390e55e18b0d9989c269ee1b0a7ea3af62fd778c
6
+ metadata.gz: 3f0e8efa6ec04d54c5cdfebc3b826f4a12a5bd74142101724f829ecc81fcce510101eb3bc498e886435b49aaaa4cb565666ce6967c3b291e382178bc4086cd80
7
+ data.tar.gz: 0cfe6cb0c6c3e3316511312d48f5cbfc3d97bc869e27870b5174fe95fa62be24d853d1cdd232abcf590235bb8a2151e4d527e7c983d341c0c6074b7000e2c01e
@@ -1,5 +1,2 @@
1
1
  ---
2
- 45.55.176.164:
3
- - 4f:17:6e:38:63:0c:af:1c:f4:97:4f:ab:04:b4:47:a0
4
- - 8c:71:d0:85:e5:2e:4c:24:34:4b:97:0a:af:37:f4:09:41:8d:ae:6d
5
- - b5:b1:f8:2f:99:4e:88:bc:9d:6c:81:2b:9f:1c:db:44:2d:dd:e5:66:cb:49:bf:7e:e1:1a:a2:5f:d1:39:d2:16
2
+ 128.65.210.21: []
@@ -1,4 +1,5 @@
1
1
  require 'socket'
2
+ require 'timeout'
2
3
  require 'ssh_scan/constants'
3
4
  require 'ssh_scan/protocol'
4
5
  require 'ssh_scan/banner'
@@ -43,12 +44,15 @@ module SSHScan
43
44
  @error = nil
44
45
 
45
46
  begin
46
- @sock = Socket.tcp(@ip, @port, connect_timeout: @timeout)
47
- @raw_server_banner = @sock.gets
47
+ Timeout::timeout(@timeout) {
48
+ @sock = Socket.tcp(@ip, @port, connect_timeout: @timeout)
49
+ @raw_server_banner = @sock.gets
50
+ }
48
51
  rescue SocketError => e
49
52
  @error = SSHScan::Error::ConnectionRefused.new(e.message)
50
53
  @sock = nil
51
- rescue Errno::ETIMEDOUT => e
54
+ rescue Errno::ETIMEDOUT,
55
+ Timeout::Error => e
52
56
  @error = SSHScan::Error::ConnectTimeout.new(e.message)
53
57
  @sock = nil
54
58
  rescue Errno::ECONNREFUSED => e
@@ -94,23 +98,28 @@ module SSHScan
94
98
  return nil
95
99
  end
96
100
 
97
- begin
98
- @sock.write(kex_init_raw)
99
- resp = @sock.read(4)
101
+ kex_exchange_init = nil
100
102
 
101
- if resp.nil?
102
- @error = SSHScan::Error::NoKexResponse.new(
103
- "service did not respond to our kex init request"
104
- )
105
- @sock = nil
106
- return nil
107
- end
108
-
109
- resp += @sock.read(resp.unpack("N").first)
110
- @sock.close
103
+ begin
104
+ Timeout::timeout(@timeout) {
105
+ @sock.write(kex_init_raw)
106
+ resp = @sock.read(4)
107
+
108
+ if resp.nil?
109
+ @error = SSHScan::Error::NoKexResponse.new(
110
+ "service did not respond to our kex init request"
111
+ )
112
+ @sock = nil
113
+ return nil
114
+ end
115
+
116
+ resp += @sock.read(resp.unpack("N").first)
117
+ @sock.close
111
118
 
112
- kex_exchange_init = SSHScan::KeyExchangeInit.read(resp)
113
- rescue Errno::ETIMEDOUT => e
119
+ kex_exchange_init = SSHScan::KeyExchangeInit.read(resp)
120
+ }
121
+ rescue Errno::ETIMEDOUT,
122
+ Timeout::Error => e
114
123
  @error = SSHScan::Error::ConnectTimeout.new(e.message)
115
124
  @sock = nil
116
125
  return nil
@@ -107,7 +107,7 @@ module SSHScan
107
107
  net_ssh_session.close
108
108
  rescue Net::SSH::ConnectionTimeout => e
109
109
  result.error = SSHScan::Error::ConnectTimeout.new(e.message)
110
- rescue Net::SSH::Disconnect => e
110
+ rescue Net::SSH::Disconnect, Errno::ECONNRESET => e
111
111
  result.error = SSHScan::Error::Disconnected.new(e.message)
112
112
  rescue Net::SSH::Exception => e
113
113
  if e.to_s.match(/could not settle on/)
@@ -1,3 +1,3 @@
1
1
  module SSHScan
2
- VERSION = '0.0.26'
2
+ VERSION = '0.0.27'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ssh_scan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.26
4
+ version: 0.0.27
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Claudius
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2017-07-20 00:00:00.000000000 Z
15
+ date: 2017-08-25 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: bindata