net-ping 2.0.1 → 2.0.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/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:
|