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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 17e2c148e3e4f0ac06b324b666351eb4f485e44c
4
- data.tar.gz: b19d20fd8a675c101df2b4bffa9664800e60a7bb
3
+ metadata.gz: f9ddc576d5378243648c90de748b4c0c9114642d
4
+ data.tar.gz: 92f7b54ac2ba20c14600d8c8c411698e1452b859
5
5
  SHA512:
6
- metadata.gz: 226c87f3679a0e5b22a164acc01f552c43734c215a675f54cf36754149ce400c8e23fc44559cf0f902c967850ab602ed1d0ee29f43727cc0f158cddedb9f804a
7
- data.tar.gz: 236d2377a2419d400f78260337c0e892fa7a42d4599a9d5ca3c9534a9cec0ae45865c39bc6c184667e068edff2c3274ebbbd639b8c465b241abe9b4cb57df6a9
6
+ metadata.gz: 916179b9dcef791923c9d93d1af8ee642687a655843522f0ac972aa2fa0aec10f91806f06be0eb25090d2dd9bf92c9a6fca37cda08dd2e5dd2bfa4165750d506
7
+ data.tar.gz: 6b98685b066ddeb79cdd6f835077f36543d5411a8ab72f93c4aab3b152004636ebc8d16248cddffafc67202b98db1f7b09acdda045cf8e7e288747b3402596b7
data/Gemfile CHANGED
@@ -1,2 +1,2 @@
1
- source 'http://rubygems.org'
1
+ source 'https://rubygems.org'
2
2
  gemspec
@@ -1,15 +1,24 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- net-ping (1.7.7)
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
- power_assert (0.3.0)
11
- rake (11.2.2)
12
- test-unit (3.2.1)
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.11.2
35
+ 1.15.3
@@ -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
- raise 'requires root privileges' if Process.euid > 0
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
- @exception = "timeout" if io_array.nil?
129
+ raise Timeout::Error if io_array.nil?
116
130
  return false
117
131
  end
118
132
 
Binary file
@@ -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.1'
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', '~> 0')
21
- spec.add_development_dependency('fakeweb', '~> 0')
22
- spec.add_development_dependency('rake', '~> 0')
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'
@@ -17,8 +17,19 @@ if File::ALT_SEPARATOR
17
17
  require 'test_net_ping_icmp'
18
18
  end
19
19
  else
20
- if Process.euid == 0
21
- require 'test_net_ping_icmp'
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
 
@@ -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
- unless Process.euid == 0
20
- raise "The test:icmp task must be run with root privileges"
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('bogus.com', nil, 0.000001)
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.1
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: 2016-08-08 00:00:00.000000000 Z
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.4.5.1
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: