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 +4 -4
- data/bin/tdi +1 -0
- data/helper/acl.rb +7 -1
- data/helper/http.rb +21 -12
- data/helper/ssh.rb +6 -1
- data/lib/tdi/version.rb +1 -1
- data/lib/tdi.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9ace014ad816a976c9ca34af587c453b3855039b
|
4
|
+
data.tar.gz: 9f884036570d63cbddb5bb9e13798b5457d2259c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2e22075e3756151860807f0c6e94dfceb19fcfe63757de885b491d6166f98013fa7317bb1d29836ee960c4c48d9f05c6e6decbc6eb0779df91da34fd11005302
|
7
|
+
data.tar.gz: b2b39a09a8c839f7f24e2277f3a4f4cdc2ebedb1d661f183bb9c507000d4522b6f542b506699713911da836598ce7aa2dff60044c6adbaea1d3fb9ff676d738f
|
data/bin/tdi
CHANGED
data/helper/acl.rb
CHANGED
@@ -19,7 +19,7 @@
|
|
19
19
|
|
20
20
|
require 'socket'
|
21
21
|
require 'timeout'
|
22
|
-
require '
|
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
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
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 '
|
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
data/lib/tdi.rb
CHANGED
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.
|
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
|
13
|
+
date: 2014-10-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|