net-ping 2.0.1 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/Gemfile.lock +15 -5
- data/lib/net/ping/icmp.rb +16 -2
- data/net-ping-2.0.1.gem +0 -0
- data/net-ping.gemspec +5 -4
- data/test/test_net_ping.rb +13 -2
- data/test/test_net_ping_icmp.rb +17 -3
- metadata +24 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f9ddc576d5378243648c90de748b4c0c9114642d
|
4
|
+
data.tar.gz: 92f7b54ac2ba20c14600d8c8c411698e1452b859
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 916179b9dcef791923c9d93d1af8ee642687a655843522f0ac972aa2fa0aec10f91806f06be0eb25090d2dd9bf92c9a6fca37cda08dd2e5dd2bfa4165750d506
|
7
|
+
data.tar.gz: 6b98685b066ddeb79cdd6f835077f36543d5411a8ab72f93c4aab3b152004636ebc8d16248cddffafc67202b98db1f7b09acdda045cf8e7e288747b3402596b7
|
data/Gemfile
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
source '
|
1
|
+
source 'https://rubygems.org'
|
2
2
|
gemspec
|
data/Gemfile.lock
CHANGED
@@ -1,15 +1,24 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
net-ping (
|
4
|
+
net-ping (2.0.0)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: http://rubygems.org/
|
8
8
|
specs:
|
9
|
+
byebug (9.1.0)
|
10
|
+
coderay (1.1.2)
|
9
11
|
fakeweb (1.3.0)
|
10
|
-
|
11
|
-
|
12
|
-
|
12
|
+
method_source (0.8.2)
|
13
|
+
power_assert (1.1.0)
|
14
|
+
pry (0.11.0)
|
15
|
+
coderay (~> 1.1.0)
|
16
|
+
method_source (~> 0.8.1)
|
17
|
+
pry-byebug (3.5.0)
|
18
|
+
byebug (~> 9.1)
|
19
|
+
pry (~> 0.10)
|
20
|
+
rake (12.1.0)
|
21
|
+
test-unit (3.2.6)
|
13
22
|
power_assert
|
14
23
|
|
15
24
|
PLATFORMS
|
@@ -18,8 +27,9 @@ PLATFORMS
|
|
18
27
|
DEPENDENCIES
|
19
28
|
fakeweb
|
20
29
|
net-ping!
|
30
|
+
pry-byebug
|
21
31
|
rake
|
22
32
|
test-unit
|
23
33
|
|
24
34
|
BUNDLED WITH
|
25
|
-
1.
|
35
|
+
1.15.3
|
data/lib/net/ping/icmp.rb
CHANGED
@@ -28,7 +28,21 @@ module Net
|
|
28
28
|
# UNIX systems), and the port value is ignored.
|
29
29
|
#
|
30
30
|
def initialize(host=nil, port=nil, timeout=5)
|
31
|
-
|
31
|
+
begin
|
32
|
+
# If we have cap2, but not are root, or have net_raw, raise an error
|
33
|
+
require 'cap2'
|
34
|
+
current_process = Cap2.process
|
35
|
+
unless Process.euid == 0 \
|
36
|
+
|| current_process.permitted?(:net_raw) \
|
37
|
+
&& current_process.enabled?(:net_raw)
|
38
|
+
raise StandardError 'requires root privileges or setcap net_raw'
|
39
|
+
end
|
40
|
+
rescue LoadError
|
41
|
+
# Without cap2, raise error if we are not root
|
42
|
+
unless Process.euid == 0
|
43
|
+
raise StandardError 'requires root privileges or setcap net_raw'
|
44
|
+
end
|
45
|
+
end
|
32
46
|
|
33
47
|
if File::ALT_SEPARATOR
|
34
48
|
unless Win32::Security.elevated_security?
|
@@ -112,7 +126,7 @@ module Net
|
|
112
126
|
io_array = select([socket], nil, nil, timeout)
|
113
127
|
|
114
128
|
if io_array.nil? || io_array[0].empty?
|
115
|
-
|
129
|
+
raise Timeout::Error if io_array.nil?
|
116
130
|
return false
|
117
131
|
end
|
118
132
|
|
data/net-ping-2.0.1.gem
ADDED
Binary file
|
data/net-ping.gemspec
CHANGED
@@ -3,7 +3,7 @@ require 'rbconfig'
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |spec|
|
5
5
|
spec.name = 'net-ping'
|
6
|
-
spec.version = '2.0.
|
6
|
+
spec.version = '2.0.2'
|
7
7
|
spec.license = 'Artistic 2.0'
|
8
8
|
spec.author = 'Chris Chernesky'
|
9
9
|
spec.email = 'chris.netping@tinderglow.com'
|
@@ -17,9 +17,10 @@ Gem::Specification.new do |spec|
|
|
17
17
|
# The TCP Ping class requires this for non-blocking sockets.
|
18
18
|
spec.required_ruby_version = ">= 1.9.3"
|
19
19
|
|
20
|
-
spec.add_development_dependency('test-unit', '
|
21
|
-
spec.add_development_dependency('fakeweb', '
|
22
|
-
spec.add_development_dependency('rake', '
|
20
|
+
spec.add_development_dependency('test-unit', '>= 0')
|
21
|
+
spec.add_development_dependency('fakeweb', '>= 0')
|
22
|
+
spec.add_development_dependency('rake', '>= 0')
|
23
|
+
spec.add_development_dependency('pry-byebug', '>= 0')
|
23
24
|
|
24
25
|
if File::ALT_SEPARATOR
|
25
26
|
require 'rbconfig'
|
data/test/test_net_ping.rb
CHANGED
@@ -17,8 +17,19 @@ if File::ALT_SEPARATOR
|
|
17
17
|
require 'test_net_ping_icmp'
|
18
18
|
end
|
19
19
|
else
|
20
|
-
if
|
21
|
-
|
20
|
+
# If cap2 is availble, check if we are root, or our process has net_raw,
|
21
|
+
# then include ICMP tests
|
22
|
+
begin
|
23
|
+
require 'cap2'
|
24
|
+
current_process = Cap2.process
|
25
|
+
if Process.euid == 0 \
|
26
|
+
|| current_process.permitted?(:net_raw) \
|
27
|
+
&& current_process.enabled?(:net_raw)
|
28
|
+
require 'test_net_ping_icmp'
|
29
|
+
end
|
30
|
+
rescue LoadError
|
31
|
+
# If we don't have cap2, include ICMP tests if we are root
|
32
|
+
require 'test_net_ping_icmp' if Process.euid == 0
|
22
33
|
end
|
23
34
|
end
|
24
35
|
|
data/test/test_net_ping_icmp.rb
CHANGED
@@ -16,9 +16,23 @@ if File::ALT_SEPARATOR
|
|
16
16
|
raise "The test:icmp task must be run with elevated security rights"
|
17
17
|
end
|
18
18
|
else
|
19
|
-
|
20
|
-
|
19
|
+
|
20
|
+
begin
|
21
|
+
# If we have cap2; raise error unless we are root, or have net_raw
|
22
|
+
require 'cap2'
|
23
|
+
current_process = Cap2.process
|
24
|
+
unless Process.euid == 0 \
|
25
|
+
|| current_process.permitted?(:net_raw) \
|
26
|
+
&& current_process.enabled?(:net_raw)
|
27
|
+
raise StandardError 'requires root privileges or setcap net_raw'
|
28
|
+
end
|
29
|
+
rescue LoadError
|
30
|
+
# Without cap2; raise error unless we are root
|
31
|
+
unless Process.euid == 0
|
32
|
+
raise StandardError 'requires root privileges or setcap net_raw'
|
33
|
+
end
|
21
34
|
end
|
35
|
+
|
22
36
|
end
|
23
37
|
|
24
38
|
class TC_PingICMP < Test::Unit::TestCase
|
@@ -134,7 +148,7 @@ class TC_PingICMP < Test::Unit::TestCase
|
|
134
148
|
|
135
149
|
test "timeout works as expected" do
|
136
150
|
omit_if(@@jruby)
|
137
|
-
icmp = Net::Ping::ICMP.new('
|
151
|
+
icmp = Net::Ping::ICMP.new('8.8.8.8', nil, 0.000001)
|
138
152
|
assert_false(icmp.ping?)
|
139
153
|
assert_kind_of(Timeout::Error, icmp.exception)
|
140
154
|
end
|
metadata
CHANGED
@@ -1,55 +1,69 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-ping
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Chernesky
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: test-unit
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: fakeweb
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pry-byebug
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
53
67
|
- !ruby/object:Gem::Version
|
54
68
|
version: '0'
|
55
69
|
description: |2
|
@@ -83,6 +97,7 @@ files:
|
|
83
97
|
- lib/net/ping/tcp.rb
|
84
98
|
- lib/net/ping/udp.rb
|
85
99
|
- lib/net/ping/wmi.rb
|
100
|
+
- net-ping-2.0.1.gem
|
86
101
|
- net-ping.gemspec
|
87
102
|
- test/test_net_ping.rb
|
88
103
|
- test/test_net_ping_external.rb
|
@@ -111,10 +126,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
111
126
|
version: '0'
|
112
127
|
requirements: []
|
113
128
|
rubyforge_project:
|
114
|
-
rubygems_version: 2.
|
129
|
+
rubygems_version: 2.6.11
|
115
130
|
signing_key:
|
116
131
|
specification_version: 4
|
117
132
|
summary: A ping interface for Ruby.
|
118
133
|
test_files:
|
119
134
|
- test/test_net_ping.rb
|
120
|
-
has_rdoc:
|