net-ping 1.4.1 → 1.5.0
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.
- data/CHANGES +6 -0
- data/MANIFEST +2 -0
- data/Rakefile +11 -0
- data/doc/ping.txt +25 -0
- data/examples/example_pingldap.rb +22 -0
- data/lib/net/ping.rb +1 -0
- data/lib/net/ping/ldap.rb +107 -0
- data/lib/net/ping/ping.rb +2 -1
- data/net-ping.gemspec +4 -3
- data/test/test_net_ping.rb +1 -1
- data/test/test_net_ping_external.rb +7 -0
- data/test/test_net_ping_ldap.rb +200 -0
- metadata +62 -27
data/CHANGES
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
== 1.5.0 - 3-May-2011
|
2
|
+
* Added the Net::Ping::LDAP class which allows you to perform LDAP pings.
|
3
|
+
Thanks go to Paul Gallagher for adding this.
|
4
|
+
* The duration instance variable is now reset to nil on a failed ping. Again,
|
5
|
+
thanks go to Paul Gallagher.
|
6
|
+
|
1
7
|
== 1.4.1 - 17-Mar-2011
|
2
8
|
* Incorporated changes from Lukas Zapletal that alters the icmp tests to use
|
3
9
|
your localhost instead of going outside the network.
|
data/MANIFEST
CHANGED
@@ -9,6 +9,7 @@
|
|
9
9
|
* examples/example_pingudp.rb
|
10
10
|
* lib/net/ping.rb
|
11
11
|
* lib/net/ping/icmp.rb
|
12
|
+
* lib/net/ping/ldap.rb
|
12
13
|
* lib/net/ping/tcp.rb
|
13
14
|
* lib/net/ping/udp.rb
|
14
15
|
* lib/net/ping/wmi.rb
|
@@ -17,6 +18,7 @@
|
|
17
18
|
* test/test_net_ping_external.rb
|
18
19
|
* test/test_net_ping_http.rb
|
19
20
|
* test/test_net_ping_icmp.rb
|
21
|
+
* test/test_net_ping_ldap.rb
|
20
22
|
* test/test_net_ping_tcp.rb
|
21
23
|
* test/test_net_ping_udp.rb
|
22
24
|
* test/test_net_ping_wmi.rb
|
data/Rakefile
CHANGED
@@ -39,6 +39,11 @@ namespace 'example' do
|
|
39
39
|
task :udp do
|
40
40
|
ruby '-Ilib examples/example_pingudp.rb'
|
41
41
|
end
|
42
|
+
|
43
|
+
desc 'Run the ldap ping example program'
|
44
|
+
task :ldap do
|
45
|
+
ruby '-Ilib examples/example_pingldap.rb'
|
46
|
+
end
|
42
47
|
end
|
43
48
|
|
44
49
|
Rake::TestTask.new do |t|
|
@@ -84,6 +89,12 @@ namespace 'test' do
|
|
84
89
|
t.verbose = true
|
85
90
|
t.test_files = FileList['test/test_net_ping_wmi.rb']
|
86
91
|
end
|
92
|
+
|
93
|
+
Rake::TestTask.new('ldap') do |t|
|
94
|
+
t.warning = true
|
95
|
+
t.verbose = true
|
96
|
+
t.test_files = FileList['test/test_net_ping_ldap.rb']
|
97
|
+
end
|
87
98
|
end
|
88
99
|
|
89
100
|
task :default => :test
|
data/doc/ping.txt
CHANGED
@@ -43,6 +43,7 @@
|
|
43
43
|
* Ping::HTTP
|
44
44
|
* Ping::ICMP
|
45
45
|
* Ping::WMI
|
46
|
+
* Ping::LDAP
|
46
47
|
|
47
48
|
All Ping classes are children of the Ping parent class (which should
|
48
49
|
never be instantiated directly).
|
@@ -135,6 +136,30 @@ Ping::WMI#ping(host, options={})
|
|
135
136
|
Ping::WMI#ping?(host, options={})
|
136
137
|
Returns whether or not the ping succeeded.
|
137
138
|
|
139
|
+
== Ping::LDAP
|
140
|
+
Ping::LDAP.new(uri=nil, timeout=5)
|
141
|
+
Performs a 'ping' to an LDAP server in the form of either an anonymous
|
142
|
+
or an authenticated LDAP bind.
|
143
|
+
Identical to Net::Ping.new except that, instead of a host, the first
|
144
|
+
argument is a URI.
|
145
|
+
The default +timeout+ is 5 seconds.
|
146
|
+
|
147
|
+
+uri+ string is expected to be a full URI with scheme (ldap/ldaps)
|
148
|
+
and optionally the port (else default port is assumed) e.g.
|
149
|
+
ldap://my.ldap.host.com
|
150
|
+
ldap://my.ldap.host.com:1389
|
151
|
+
ldaps://my.ldap.host.com
|
152
|
+
ldaps://my.ldap.host.com:6636
|
153
|
+
|
154
|
+
If a plain hostname is provided as the +uri+, a default port of 389 is assumed
|
155
|
+
|
156
|
+
Ping::LDAP#encryption
|
157
|
+
Set/get the encyption method. By default is nil, but may be set to :simple_tls
|
158
|
+
|
159
|
+
Ping::LDAP#username
|
160
|
+
Ping::LDAP#password
|
161
|
+
set/get the username and password for ping using and authenticated bind.
|
162
|
+
|
138
163
|
= Common Instance Methods
|
139
164
|
Ping#exception
|
140
165
|
Returns the error string that was set if a ping call failed. If an exception
|
@@ -0,0 +1,22 @@
|
|
1
|
+
########################################################################
|
2
|
+
# example_pingldap.rb
|
3
|
+
#
|
4
|
+
# A short sample program demonstrating an ldap ping. You can run
|
5
|
+
# this program via the example:ldap task. Modify as you see fit.
|
6
|
+
########################################################################
|
7
|
+
require 'net/ping/ldap'
|
8
|
+
|
9
|
+
good = 'ldap://localhost'
|
10
|
+
bad = 'ldap://example.com'
|
11
|
+
|
12
|
+
puts "== Good ping (if you have an ldap server at #{good})"
|
13
|
+
|
14
|
+
p1 = Net::Ping::LDAP.new(good)
|
15
|
+
p p1.ping?
|
16
|
+
|
17
|
+
puts "== Bad ping"
|
18
|
+
|
19
|
+
p2 = Net::Ping::LDAP.new(bad)
|
20
|
+
p p2.ping?
|
21
|
+
p p2.warning
|
22
|
+
p p2.exception
|
data/lib/net/ping.rb
CHANGED
@@ -9,6 +9,7 @@ require File.join(File.dirname(__FILE__), 'ping/udp')
|
|
9
9
|
require File.join(File.dirname(__FILE__), 'ping/icmp')
|
10
10
|
require File.join(File.dirname(__FILE__), 'ping/external')
|
11
11
|
require File.join(File.dirname(__FILE__), 'ping/http')
|
12
|
+
require File.join(File.dirname(__FILE__), 'ping/ldap')
|
12
13
|
|
13
14
|
if Config::CONFIG['host_os'] =~ /msdos|mswin|cygwin|mingw|win32|windows/i
|
14
15
|
require File.join(File.dirname(__FILE__), 'ping/wmi')
|
@@ -0,0 +1,107 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'ping')
|
2
|
+
require 'net/ldap'
|
3
|
+
require 'uri'
|
4
|
+
|
5
|
+
|
6
|
+
# The Net module serves as a namespace only.
|
7
|
+
module Net
|
8
|
+
|
9
|
+
# The Ping::LDAP class encapsulates methods for LDAP pings.
|
10
|
+
class Ping::LDAP < Ping
|
11
|
+
|
12
|
+
# uri contains the URI object for the request
|
13
|
+
#
|
14
|
+
attr_accessor :uri
|
15
|
+
|
16
|
+
# username and password may be set for ping using
|
17
|
+
# an authenticated LDAP bind
|
18
|
+
#
|
19
|
+
attr_accessor :username
|
20
|
+
attr_accessor :password
|
21
|
+
|
22
|
+
# set/get the encryption method. By default nil,
|
23
|
+
# but may be set to :simple_tls
|
24
|
+
#
|
25
|
+
attr_accessor :encryption
|
26
|
+
def encryption=(value)
|
27
|
+
@encryption = (value.is_a? Symbol) ? value : value.to_sym
|
28
|
+
end
|
29
|
+
|
30
|
+
# Creates and returns a new Ping::LDAP object.
|
31
|
+
# The default +timeout+ is 5 seconds.
|
32
|
+
#
|
33
|
+
# +uri+ string is expected to be a full URI with scheme (ldap/ldaps)
|
34
|
+
# and optionally the port (else default port is assumed) e.g.
|
35
|
+
# ldap://my.ldap.host.com
|
36
|
+
# ldap://my.ldap.host.com:1389
|
37
|
+
# ldaps://my.ldap.host.com
|
38
|
+
# ldaps://my.ldap.host.com:6636
|
39
|
+
#
|
40
|
+
# If a plain hostname is provided as the +uri+, a default port of 389 is assumed
|
41
|
+
#
|
42
|
+
def initialize(uri=nil, timeout=5)
|
43
|
+
host, port = decode_uri(uri)
|
44
|
+
super(host, port, timeout)
|
45
|
+
end
|
46
|
+
|
47
|
+
# method used to decode uri string
|
48
|
+
#
|
49
|
+
def decode_uri(value)
|
50
|
+
@uri = URI.parse(value)
|
51
|
+
if uri.scheme =~ /ldap/
|
52
|
+
p = @port = uri.port
|
53
|
+
h = @host = uri.host
|
54
|
+
@encryption = uri.scheme=='ldaps' ? :simple_tls : nil
|
55
|
+
else
|
56
|
+
h = value
|
57
|
+
p = 389
|
58
|
+
end
|
59
|
+
[h, p]
|
60
|
+
end
|
61
|
+
|
62
|
+
# constructs the LDAP configuration structure
|
63
|
+
#
|
64
|
+
def config
|
65
|
+
{
|
66
|
+
:host => uri.host,
|
67
|
+
:port => uri.port,
|
68
|
+
:encryption => encryption
|
69
|
+
}.merge(
|
70
|
+
(username && password) ?
|
71
|
+
{ :auth => {:method => :simple, :username => username, :password => password} } :
|
72
|
+
{ :auth => {:method => :anonymous} }
|
73
|
+
)
|
74
|
+
end
|
75
|
+
|
76
|
+
# perform ping, optionally providing the ping destination uri
|
77
|
+
#
|
78
|
+
def ping(host = nil)
|
79
|
+
decode_uri(host) if host
|
80
|
+
super(@host)
|
81
|
+
|
82
|
+
bool = false
|
83
|
+
|
84
|
+
start_time = Time.now
|
85
|
+
|
86
|
+
begin
|
87
|
+
Timeout.timeout(@timeout) do
|
88
|
+
Net::LDAP.new( config ).bind
|
89
|
+
end
|
90
|
+
rescue Net::LDAP::LdapError => e
|
91
|
+
@exception = e.message
|
92
|
+
rescue Exception => e
|
93
|
+
@exception = e.message
|
94
|
+
else
|
95
|
+
bool = true
|
96
|
+
end
|
97
|
+
|
98
|
+
# There is no duration if the ping failed
|
99
|
+
@duration = Time.now - start_time if bool
|
100
|
+
|
101
|
+
bool
|
102
|
+
end
|
103
|
+
|
104
|
+
alias ping? ping
|
105
|
+
alias pingecho ping
|
106
|
+
end
|
107
|
+
end
|
data/lib/net/ping/ping.rb
CHANGED
@@ -10,7 +10,7 @@ module Net
|
|
10
10
|
#
|
11
11
|
class Ping
|
12
12
|
# The version of the net-ping library.
|
13
|
-
VERSION = '1.
|
13
|
+
VERSION = '1.5.0'
|
14
14
|
|
15
15
|
# The host to ping. In the case of Ping::HTTP, this is the URI.
|
16
16
|
attr_accessor :host
|
@@ -80,6 +80,7 @@ module Net
|
|
80
80
|
raise ArgumentError, 'no host specified' unless host
|
81
81
|
@exception = nil
|
82
82
|
@warning = nil
|
83
|
+
@duration = nil
|
83
84
|
end
|
84
85
|
|
85
86
|
alias ping? ping
|
data/net-ping.gemspec
CHANGED
@@ -3,21 +3,22 @@ require 'rbconfig'
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
5
|
gem.name = 'net-ping'
|
6
|
-
gem.version = '1.
|
6
|
+
gem.version = '1.5.0'
|
7
7
|
gem.license = 'Artistic 2.0'
|
8
8
|
gem.author = 'Daniel J. Berger'
|
9
9
|
gem.email = 'djberg96@gmail.com'
|
10
10
|
gem.homepage = 'http://www.rubyforge.org/projects/shards'
|
11
11
|
gem.summary = 'A ping interface for Ruby.'
|
12
12
|
gem.test_file = 'test/test_net_ping.rb'
|
13
|
-
gem.has_rdoc = true
|
14
13
|
gem.files = Dir['**/*'].reject{ |f| f.include?('git') }
|
15
14
|
|
16
15
|
gem.rubyforge_project = 'shards'
|
17
16
|
gem.extra_rdoc_files = ['README', 'CHANGES', 'doc/ping.txt']
|
18
17
|
|
18
|
+
gem.add_dependency('net-ldap', '~> 0.2.2')
|
19
19
|
gem.add_development_dependency('test-unit', '>= 2.1.2')
|
20
20
|
gem.add_development_dependency('fakeweb', '>= 1.3.0')
|
21
|
+
gem.add_development_dependency('fakeldap', '~> 0.0.1')
|
21
22
|
|
22
23
|
# These dependencies are for Net::Ping::External
|
23
24
|
if File::ALT_SEPARATOR && RUBY_PLATFORM != 'java'
|
@@ -32,7 +33,7 @@ Gem::Specification.new do |gem|
|
|
32
33
|
|
33
34
|
gem.description = <<-EOF
|
34
35
|
The net-ping library provides a ping interface for Ruby. It includes
|
35
|
-
separate TCP, HTTP, ICMP, UDP, WMI (for Windows) and external ping
|
36
|
+
separate TCP, HTTP, LDAP, ICMP, UDP, WMI (for Windows) and external ping
|
36
37
|
classes.
|
37
38
|
EOF
|
38
39
|
end
|
data/test/test_net_ping.rb
CHANGED
@@ -59,6 +59,13 @@ class TC_Net_Ping_External < Test::Unit::TestCase
|
|
59
59
|
assert_kind_of(Float, @pe.duration)
|
60
60
|
end
|
61
61
|
|
62
|
+
test "duration is unset if a bad ping follows a good ping" do
|
63
|
+
assert_nothing_raised{ @pe.ping }
|
64
|
+
assert_not_nil(@pe.duration)
|
65
|
+
assert_false(@pe.ping?(@bogus))
|
66
|
+
assert_nil(@pe.duration)
|
67
|
+
end
|
68
|
+
|
62
69
|
test "host getter basic functionality" do
|
63
70
|
assert_respond_to(@pe, :host)
|
64
71
|
assert_equal('www.ruby-lang.org', @pe.host)
|
@@ -0,0 +1,200 @@
|
|
1
|
+
#################################################################################
|
2
|
+
# test_net_ping_http.rb
|
3
|
+
#
|
4
|
+
# Test case for the Net::PingHTTP class. This should be run via the 'test' or
|
5
|
+
# 'test:http' Rake task.
|
6
|
+
#################################################################################
|
7
|
+
require 'rubygems'
|
8
|
+
gem 'test-unit'
|
9
|
+
|
10
|
+
require 'test/unit'
|
11
|
+
require 'net/ping/ldap'
|
12
|
+
require 'fakeldap'
|
13
|
+
|
14
|
+
class TC_Net_Ping_LDAP < Test::Unit::TestCase
|
15
|
+
class << self
|
16
|
+
def startup
|
17
|
+
@@host = 'localhost'
|
18
|
+
@@port = 2389
|
19
|
+
@@uri = "ldap://#{@@host}:#{@@port}"
|
20
|
+
@@timeout = 30
|
21
|
+
@@cn = 'el.Daper'
|
22
|
+
@@password = 'ldappassword'
|
23
|
+
|
24
|
+
@@ldap_server = FakeLDAP::Server.new(:port => @@port)
|
25
|
+
@@ldap_server.run_tcpserver
|
26
|
+
@@ldap_server.add_user("cn=#{@@cn},ou=USERS,dc=example,dc=com", @@password)
|
27
|
+
end
|
28
|
+
def shutdown
|
29
|
+
@@ldap_server.stop
|
30
|
+
end
|
31
|
+
end
|
32
|
+
def setup
|
33
|
+
@ldap = Net::Ping::LDAP.new(@@uri, @@timeout)
|
34
|
+
@ldap.username = @@cn
|
35
|
+
@ldap.password = @@password
|
36
|
+
@bogus = 'ldap://blabfoobarurghxxxx.com' # One hopes so
|
37
|
+
@bad = Net::Ping::LDAP.new(@bogus)
|
38
|
+
end
|
39
|
+
|
40
|
+
def teardown
|
41
|
+
@ldap = nil
|
42
|
+
end
|
43
|
+
|
44
|
+
test 'ping basic functionality' do
|
45
|
+
assert_respond_to(@ldap, :ping)
|
46
|
+
assert_nothing_raised{ @ldap.ping }
|
47
|
+
end
|
48
|
+
|
49
|
+
test 'ping returns a boolean value' do
|
50
|
+
assert_boolean(@ldap.ping?)
|
51
|
+
assert_boolean(@bad.ping?)
|
52
|
+
end
|
53
|
+
|
54
|
+
test 'ping? is an alias for ping' do
|
55
|
+
assert_alias_method(@ldap, :ping?, :ping)
|
56
|
+
end
|
57
|
+
|
58
|
+
test 'pingecho is an alias for ping' do
|
59
|
+
assert_alias_method(@ldap, :pingecho, :ping)
|
60
|
+
end
|
61
|
+
|
62
|
+
test 'ping should succeed for a valid website' do
|
63
|
+
assert_true(@ldap.ping?)
|
64
|
+
end
|
65
|
+
|
66
|
+
test 'ping should fail for an invalid website' do
|
67
|
+
assert_false(@bad.ping?)
|
68
|
+
end
|
69
|
+
|
70
|
+
test 'duration basic functionality' do
|
71
|
+
assert_respond_to(@ldap, :duration)
|
72
|
+
assert_nothing_raised{ @ldap.ping }
|
73
|
+
end
|
74
|
+
|
75
|
+
test 'duration returns a float value on a successful ping' do
|
76
|
+
assert_true(@ldap.ping)
|
77
|
+
assert_kind_of(Float, @ldap.duration)
|
78
|
+
end
|
79
|
+
|
80
|
+
test 'duration is nil on an unsuccessful ping' do
|
81
|
+
assert_false(@bad.ping)
|
82
|
+
assert_nil(@ldap.duration)
|
83
|
+
end
|
84
|
+
|
85
|
+
test "duration is unset if a bad ping follows a good ping" do
|
86
|
+
assert_true{ @ldap.ping }
|
87
|
+
assert_not_nil(@ldap.duration)
|
88
|
+
assert_false(@ldap.ping?(@bogus))
|
89
|
+
assert_nil(@ldap.duration)
|
90
|
+
end
|
91
|
+
|
92
|
+
test 'host attribute basic functionality' do
|
93
|
+
assert_respond_to(@ldap, :host)
|
94
|
+
assert_respond_to(@ldap, :host=)
|
95
|
+
assert_equal(@@host, @ldap.host)
|
96
|
+
end
|
97
|
+
|
98
|
+
test 'port attribute basic functionality' do
|
99
|
+
assert_respond_to(@ldap, :port)
|
100
|
+
assert_respond_to(@ldap, :port=)
|
101
|
+
end
|
102
|
+
|
103
|
+
test 'port attribute expected value' do
|
104
|
+
assert_equal(@@port, @ldap.port)
|
105
|
+
end
|
106
|
+
|
107
|
+
test 'timeout attribute basic functionality' do
|
108
|
+
assert_respond_to(@ldap, :timeout)
|
109
|
+
assert_respond_to(@ldap, :timeout=)
|
110
|
+
end
|
111
|
+
|
112
|
+
test 'timeout attribute expected values' do
|
113
|
+
assert_equal(@@timeout, @ldap.timeout)
|
114
|
+
assert_equal(5, @bad.timeout)
|
115
|
+
end
|
116
|
+
|
117
|
+
test 'exception attribute basic functionality' do
|
118
|
+
assert_respond_to(@ldap, :exception)
|
119
|
+
assert_nil(@ldap.exception)
|
120
|
+
end
|
121
|
+
|
122
|
+
test 'exception attribute is nil if the ping is successful' do
|
123
|
+
assert_true(@ldap.ping)
|
124
|
+
assert_nil(@ldap.exception)
|
125
|
+
end
|
126
|
+
|
127
|
+
test 'exception attribute is not nil if the ping is unsuccessful' do
|
128
|
+
assert_false(@bad.ping)
|
129
|
+
assert_not_nil(@bad.exception)
|
130
|
+
end
|
131
|
+
|
132
|
+
test 'warning attribute basic functionality' do
|
133
|
+
assert_respond_to(@ldap, :warning)
|
134
|
+
assert_nil(@ldap.warning)
|
135
|
+
end
|
136
|
+
|
137
|
+
test 'uri attribute basic functionality' do
|
138
|
+
assert_respond_to(@ldap, :uri)
|
139
|
+
assert_respond_to(@ldap, :uri=)
|
140
|
+
end
|
141
|
+
|
142
|
+
test 'username attribute basic functionality' do
|
143
|
+
assert_respond_to(@ldap, :username)
|
144
|
+
assert_respond_to(@ldap, :username=)
|
145
|
+
end
|
146
|
+
|
147
|
+
test 'password attribute basic functionality' do
|
148
|
+
assert_respond_to(@ldap, :password)
|
149
|
+
assert_respond_to(@ldap, :password=)
|
150
|
+
end
|
151
|
+
|
152
|
+
test 'encryption attribute basic functionality' do
|
153
|
+
assert_respond_to(@ldap, :encryption)
|
154
|
+
assert_respond_to(@ldap, :encryption=)
|
155
|
+
end
|
156
|
+
|
157
|
+
test 'encryption defaults to nil for ldap' do
|
158
|
+
assert_nil(Net::Ping::LDAP.new('ldap://somehost.example.net').encryption)
|
159
|
+
end
|
160
|
+
|
161
|
+
test 'encryption defaults to simple_tls for ldaps' do
|
162
|
+
assert_equal(:simple_tls, Net::Ping::LDAP.new('ldaps://somehost.example.net').encryption)
|
163
|
+
end
|
164
|
+
|
165
|
+
test 'port defaults to 389 for ldap' do
|
166
|
+
assert_equal(389, Net::Ping::LDAP.new('ldap://somehost.example.net').port)
|
167
|
+
end
|
168
|
+
|
169
|
+
test 'port defaults to 636 for ldaps' do
|
170
|
+
assert_equal(636, Net::Ping::LDAP.new('ldaps://somehost.example.net').port)
|
171
|
+
end
|
172
|
+
|
173
|
+
test 'port extracted from uri if provided' do
|
174
|
+
assert_equal(12345, Net::Ping::LDAP.new('ldap://somehost.example.net:12345').port)
|
175
|
+
assert_equal(12345, Net::Ping::LDAP.new('ldaps://somehost.example.net:12345').port)
|
176
|
+
end
|
177
|
+
|
178
|
+
test 'encryption setting is forced to symbol' do
|
179
|
+
@ldap.encryption = 'simple_tls'
|
180
|
+
assert_true( @ldap.encryption.is_a? Symbol )
|
181
|
+
assert_true( @ldap.config[:encryption].is_a? Symbol )
|
182
|
+
end
|
183
|
+
|
184
|
+
test 'username/password set in config auth section' do
|
185
|
+
@ldap.username, @ldap.password = 'fred', 'derf'
|
186
|
+
assert_equal('fred', @ldap.config[:auth][:username] )
|
187
|
+
assert_equal('derf', @ldap.config[:auth][:password] )
|
188
|
+
end
|
189
|
+
|
190
|
+
test 'auth method defaults to simple if username/password set' do
|
191
|
+
@ldap.username, @ldap.password = 'fred', 'derf'
|
192
|
+
assert_equal(:simple, @ldap.config[:auth][:method] )
|
193
|
+
end
|
194
|
+
|
195
|
+
test 'if no username/password then defaults to auth anonymous' do
|
196
|
+
@ldap.username = @ldap.password = nil
|
197
|
+
assert_equal({:method => :anonymous}, @ldap.config[:auth] )
|
198
|
+
end
|
199
|
+
|
200
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-ping
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 3
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
-
|
10
|
-
version: 1.
|
8
|
+
- 5
|
9
|
+
- 0
|
10
|
+
version: 1.5.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Daniel J. Berger
|
@@ -15,13 +15,29 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-05-04 00:00:00 -06:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
|
-
name:
|
22
|
+
name: net-ldap
|
23
23
|
prerelease: false
|
24
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
hash: 19
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
- 2
|
33
|
+
- 2
|
34
|
+
version: 0.2.2
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id001
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: test-unit
|
39
|
+
prerelease: false
|
40
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
25
41
|
none: false
|
26
42
|
requirements:
|
27
43
|
- - ">="
|
@@ -33,11 +49,11 @@ dependencies:
|
|
33
49
|
- 2
|
34
50
|
version: 2.1.2
|
35
51
|
type: :development
|
36
|
-
version_requirements: *
|
52
|
+
version_requirements: *id002
|
37
53
|
- !ruby/object:Gem::Dependency
|
38
54
|
name: fakeweb
|
39
55
|
prerelease: false
|
40
|
-
requirement: &
|
56
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
41
57
|
none: false
|
42
58
|
requirements:
|
43
59
|
- - ">="
|
@@ -49,8 +65,24 @@ dependencies:
|
|
49
65
|
- 0
|
50
66
|
version: 1.3.0
|
51
67
|
type: :development
|
52
|
-
version_requirements: *
|
53
|
-
|
68
|
+
version_requirements: *id003
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: fakeldap
|
71
|
+
prerelease: false
|
72
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
hash: 29
|
78
|
+
segments:
|
79
|
+
- 0
|
80
|
+
- 0
|
81
|
+
- 1
|
82
|
+
version: 0.0.1
|
83
|
+
type: :development
|
84
|
+
version_requirements: *id004
|
85
|
+
description: " The net-ping library provides a ping interface for Ruby. It includes\n separate TCP, HTTP, LDAP, ICMP, UDP, WMI (for Windows) and external ping\n classes.\n"
|
54
86
|
email: djberg96@gmail.com
|
55
87
|
executables: []
|
56
88
|
|
@@ -61,31 +93,34 @@ extra_rdoc_files:
|
|
61
93
|
- CHANGES
|
62
94
|
- doc/ping.txt
|
63
95
|
files:
|
64
|
-
-
|
96
|
+
- Rakefile
|
97
|
+
- README
|
65
98
|
- doc/ping.txt
|
66
|
-
-
|
67
|
-
- examples/example_pinghttp.rb
|
68
|
-
- examples/example_pingtcp.rb
|
69
|
-
- examples/example_pingudp.rb
|
99
|
+
- lib/net/ping.rb
|
70
100
|
- lib/net/ping/external.rb
|
71
|
-
- lib/net/ping/http.rb
|
72
101
|
- lib/net/ping/icmp.rb
|
102
|
+
- lib/net/ping/wmi.rb
|
103
|
+
- lib/net/ping/udp.rb
|
73
104
|
- lib/net/ping/ping.rb
|
105
|
+
- lib/net/ping/ldap.rb
|
106
|
+
- lib/net/ping/http.rb
|
74
107
|
- lib/net/ping/tcp.rb
|
75
|
-
- lib/net/ping/udp.rb
|
76
|
-
- lib/net/ping/wmi.rb
|
77
|
-
- lib/net/ping.rb
|
78
|
-
- MANIFEST
|
79
108
|
- net-ping.gemspec
|
80
|
-
-
|
81
|
-
-
|
82
|
-
-
|
83
|
-
-
|
109
|
+
- CHANGES
|
110
|
+
- examples/example_pinghttp.rb
|
111
|
+
- examples/example_pingldap.rb
|
112
|
+
- examples/example_pingexternal.rb
|
113
|
+
- examples/example_pingtcp.rb
|
114
|
+
- examples/example_pingudp.rb
|
115
|
+
- test/test_net_ping_ldap.rb
|
84
116
|
- test/test_net_ping_http.rb
|
85
117
|
- test/test_net_ping_icmp.rb
|
86
|
-
- test/test_net_ping_tcp.rb
|
87
118
|
- test/test_net_ping_udp.rb
|
88
119
|
- test/test_net_ping_wmi.rb
|
120
|
+
- test/test_net_ping_external.rb
|
121
|
+
- test/test_net_ping_tcp.rb
|
122
|
+
- test/test_net_ping.rb
|
123
|
+
- MANIFEST
|
89
124
|
has_rdoc: true
|
90
125
|
homepage: http://www.rubyforge.org/projects/shards
|
91
126
|
licenses:
|
@@ -116,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
116
151
|
requirements: []
|
117
152
|
|
118
153
|
rubyforge_project: shards
|
119
|
-
rubygems_version: 1.
|
154
|
+
rubygems_version: 1.6.2
|
120
155
|
signing_key:
|
121
156
|
specification_version: 3
|
122
157
|
summary: A ping interface for Ruby.
|