tdi 0.1.1 → 0.1.2

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: 6d0c80dd475a561817fc1f62ba2f576abad3b5ab
4
- data.tar.gz: febd8a7c033de2392ab1f5b1e82e8e7bde7a7da5
3
+ metadata.gz: 9ace014ad816a976c9ca34af587c453b3855039b
4
+ data.tar.gz: 9f884036570d63cbddb5bb9e13798b5457d2259c
5
5
  SHA512:
6
- metadata.gz: 3e3562d2e19a778229d38e2bc195592a123e2ee99388bd4dabbce660329ff1bacfa766333db8bf04ed9e7ce31e47320860a278d14bdd4094ca6c6852fbf20211
7
- data.tar.gz: 0a775bcfb7363ebd187bb9604dc2c1a7f241e93098c03e3861dcb582cc94e3592f04cf2800fb6b8fc9de56f632c0f92717963b9a4c5e5cec50eb9784d7643f9c
6
+ metadata.gz: 2e22075e3756151860807f0c6e94dfceb19fcfe63757de885b491d6166f98013fa7317bb1d29836ee960c4c48d9f05c6e6decbc6eb0779df91da34fd11005302
7
+ data.tar.gz: b2b39a09a8c839f7f24e2277f3a4f4cdc2ebedb1d661f183bb9c507000d4522b6f542b506699713911da836598ce7aa2dff60044c6adbaea1d3fb9ff676d738f
data/bin/tdi CHANGED
@@ -42,6 +42,7 @@
42
42
  ## REQUIRES ##
43
43
  ##############
44
44
 
45
+ require 'etc'
45
46
  require 'slop'
46
47
  require 'json'
47
48
  require 'colorize'
data/helper/acl.rb CHANGED
@@ -19,7 +19,7 @@
19
19
 
20
20
  require 'socket'
21
21
  require 'timeout'
22
- require 'etc'
22
+ require 'resolv'
23
23
 
24
24
  class TDIPlan < TDI
25
25
  def acl(plan)
@@ -39,6 +39,8 @@ class TDIPlan < TDI
39
39
  begin
40
40
  timeout(timeout_limit) do
41
41
  begin
42
+
43
+ Resolv.getaddress(host)
42
44
  sock = TCPSocket.open(host, port)
43
45
  sock.close
44
46
  success "ACL (#{user}): #{host}:#{port}"
@@ -46,6 +48,10 @@ class TDIPlan < TDI
46
48
  warning "ACL (#{user}): #{host}:#{port}"
47
49
  rescue Errno::ECONNRESET, Errno::ETIMEDOUT
48
50
  failure "ACL (#{user}): Connection Refused #{host}:#{port}"
51
+ rescue Resolv::ResolvError => re
52
+ failure "ACL (#{user}): #{re.message}"
53
+ rescue Resolv::ResolvTimeou => rt
54
+ failure "ACL (#{user}): #{rt.message}"
49
55
  end
50
56
  end
51
57
  rescue Timeout::Error
data/helper/http.rb CHANGED
@@ -20,8 +20,8 @@
20
20
  require 'net/http'
21
21
  require "net/https"
22
22
  require 'timeout'
23
- require 'etc'
24
23
  require 'uri'
24
+ require 'resolv'
25
25
 
26
26
  class TDIPlan < TDI
27
27
 
@@ -60,18 +60,19 @@ class TDIPlan < TDI
60
60
 
61
61
  host, port, path, proxy_addr, proxy_port, code, match, ssl, timeout_limit = _parse(case_name,case_content)
62
62
 
63
- # User.
63
+ # User
64
64
  user = Etc.getpwuid(Process.euid).name
65
65
 
66
66
  response = nil
67
67
 
68
68
  if not proxy_addr.nil? and not proxy_port.nil?
69
-
70
- http = Net::HTTP::Proxy(proxy_addr, proxy_port)
71
-
72
69
  begin
70
+ Resolv.getaddress(proxy_addr)
71
+ http = Net::HTTP::Proxy(proxy_addr, proxy_port)
72
+
73
73
  timeout(timeout_limit) do
74
74
  begin
75
+ Resolv.getaddress(host)
75
76
  http.start(host,port,:use_ssl => ssl, :verify_mode => OpenSSL::SSL::VERIFY_NONE) { |http|
76
77
  response = http.get(path)
77
78
  }
@@ -79,20 +80,24 @@ class TDIPlan < TDI
79
80
  warning "HTTP (#{user}): #{case_name} - Connection reset or refused."
80
81
  end
81
82
  end
83
+ rescue Resolv::ResolvError => re
84
+ failure "HTTP (#{user}): #{re.message}"
85
+ rescue Resolv::ResolvTimeout => rt
86
+ failure "HTTP (#{user}): #{rt.message}"
82
87
  rescue Timeout::Error
83
88
  failure "HTTP (#{user}): #{case_name} - Timed out (#{timeout_limit}s)."
84
89
  end
85
90
 
86
91
  else
92
+ begin
93
+ Resolv.getaddress(host)
94
+ http = Net::HTTP.new(host, port)
87
95
 
88
- http = Net::HTTP.new(host, port)
89
-
90
- if ssl
91
- http.use_ssl = true
92
- http.verify_mode = OpenSSL::SSL::VERIFY_NONE
93
- end
96
+ if ssl
97
+ http.use_ssl = true
98
+ http.verify_mode = OpenSSL::SSL::VERIFY_NONE
99
+ end
94
100
 
95
- begin
96
101
  timeout(timeout_limit) do
97
102
  begin
98
103
  http.start() { |http|
@@ -102,6 +107,10 @@ class TDIPlan < TDI
102
107
  warning "HTTP (#{user}): #{case_name} - Connection reset or refused."
103
108
  end
104
109
  end
110
+ rescue Resolv::ResolvError => re
111
+ failure "HTTP (#{user}): #{re.message}"
112
+ rescue Resolv::ResolvTimeout => rt
113
+ failure "HTTP (#{user}): #{rt.message}"
105
114
  rescue Timeout::Error
106
115
  failure "HTTP (#{user}): #{case_name} - Timed out."
107
116
  end
data/helper/ssh.rb CHANGED
@@ -18,7 +18,7 @@
18
18
  # along with TDI. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
20
  require 'net/ssh'
21
- require 'etc'
21
+ require 'resolv'
22
22
 
23
23
  class TDIPlan < TDI
24
24
  def ssh(plan)
@@ -59,12 +59,17 @@ class TDIPlan < TDI
59
59
 
60
60
  begin
61
61
  timeout(5) do
62
+ Resolv.getaddress(host)
62
63
  ssh_session = Net::SSH.start(host,
63
64
  remote_user,
64
65
  :auth_methods => ['publickey'])
65
66
  ssh_session.close
66
67
  success "SSH (#{local_user}): #{remote_user}@#{host}"
67
68
  end
69
+ rescue Resolv::ResolvError => re
70
+ failure "SSH (#{local_user}): #{re.message}"
71
+ rescue Resolv::ResolvTimeout => rt
72
+ failure "SSH (#{local_user}): #{rt.message}"
68
73
  rescue
69
74
  failure "SSH (#{local_user}): #{remote_user}@#{host}"
70
75
  end
data/lib/tdi/version.rb CHANGED
@@ -18,5 +18,5 @@
18
18
  # along with TDI. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
20
  module Tdi
21
- VERSION = '0.1.1'
21
+ VERSION = '0.1.2'
22
22
  end
data/lib/tdi.rb CHANGED
@@ -17,7 +17,7 @@
17
17
  # You should have received a copy of the GNU General Public License
18
18
  # along with TDI. If not, see <http://www.gnu.org/licenses/>.
19
19
 
20
- require 'tdi/version'
20
+ require_relative 'tdi/version'
21
21
 
22
22
  class TDI
23
23
  attr_accessor :passed
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tdi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rogério Carvalho Schneider
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-08-27 00:00:00.000000000 Z
13
+ date: 2014-10-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler