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