tdi 0.1.1 → 0.1.2

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: 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