ruby-ldapserver 0.5.1 → 0.5.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/ChangeLog +3 -0
- data/lib/ldap/server/server.rb +5 -1
- data/lib/ldap/server/version.rb +1 -1
- data/ruby-ldapserver.gemspec +2 -1
- data/test/encoding_test.rb +61 -14
- data/test/util_test.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fb487768946c1d6ad6532ed0f6a1f993202ba23b
|
4
|
+
data.tar.gz: 34e4d89ac933c6d4916d8df082d9e02e8ac48d02
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 019f96b0e7586bc91c578db37c0a10b58aa9a6599879d9483c2651d9f7704742d80640dd17ed88dad60fa1a3c7e4501fde1c53167edfa1dc886136c279f6d04a
|
7
|
+
data.tar.gz: d571397a73402c511890a01c59d35469bcd461acb929b3535658d2e7eb0c0e03573fc9bdbc5a96a7ca7b37de4c820ed361df9bc09605e125095c988be605019b
|
data/ChangeLog
CHANGED
data/lib/ldap/server/server.rb
CHANGED
data/lib/ldap/server/version.rb
CHANGED
data/ruby-ldapserver.gemspec
CHANGED
@@ -21,6 +21,7 @@ Gem::Specification.new do |s|
|
|
21
21
|
|
22
22
|
s.add_development_dependency 'bundler', '~> 1.3'
|
23
23
|
s.add_development_dependency 'rake', '~> 10.0'
|
24
|
-
s.add_development_dependency 'ruby-ldap', '~> 0.9.16'
|
24
|
+
s.add_development_dependency 'ruby-ldap', '~> 0.9.16' unless RUBY_PLATFORM == 'java'
|
25
|
+
s.add_development_dependency 'jruby-ldap', '~> 0.0' if RUBY_PLATFORM == 'java'
|
25
26
|
s.add_development_dependency 'rspec', '~> 3.1'
|
26
27
|
end
|
data/test/encoding_test.rb
CHANGED
@@ -62,13 +62,60 @@ class TestLdap < Test::Unit::TestCase
|
|
62
62
|
HOST = '127.0.0.1'
|
63
63
|
PORT = 1389
|
64
64
|
|
65
|
+
def open_child_posix
|
66
|
+
IO.popen("-","w+").tap do |io|
|
67
|
+
unless io
|
68
|
+
do_child Kernel, Kernel
|
69
|
+
exit!
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
class DoubleIO < IO
|
75
|
+
def initialize out, inio
|
76
|
+
@out_io = out
|
77
|
+
@in_io = inio
|
78
|
+
end
|
79
|
+
|
80
|
+
def read *a
|
81
|
+
@out_io.read *a
|
82
|
+
end
|
83
|
+
|
84
|
+
def write *a
|
85
|
+
@in_io.write *a
|
86
|
+
end
|
87
|
+
|
88
|
+
def gets
|
89
|
+
@out_io.gets
|
90
|
+
end
|
91
|
+
|
92
|
+
def close
|
93
|
+
@in_io.close
|
94
|
+
@out_io.close
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
def open_child_java
|
99
|
+
in_rd, in_wr = IO.pipe
|
100
|
+
out_rd, out_wr = IO.pipe
|
101
|
+
Thread.new do
|
102
|
+
do_child in_rd, out_wr
|
103
|
+
end
|
104
|
+
DoubleIO.new(out_rd, in_wr)
|
105
|
+
end
|
106
|
+
|
107
|
+
def open_child
|
108
|
+
case RUBY_PLATFORM
|
109
|
+
when 'java'
|
110
|
+
open_child_java
|
111
|
+
else
|
112
|
+
open_child_posix
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
65
116
|
def setup
|
66
117
|
@ppid = $$
|
67
|
-
@io =
|
68
|
-
unless @io
|
69
|
-
do_child
|
70
|
-
exit!
|
71
|
-
end
|
118
|
+
@io = open_child
|
72
119
|
|
73
120
|
# back to a single process (the parent). Now we start our
|
74
121
|
# listener thread
|
@@ -96,10 +143,10 @@ class TestLdap < Test::Unit::TestCase
|
|
96
143
|
|
97
144
|
# Process commands on stdin in child
|
98
145
|
|
99
|
-
def do_child
|
146
|
+
def do_child in_, out
|
100
147
|
while true
|
101
148
|
begin
|
102
|
-
a = gets.chomp
|
149
|
+
a = in_.gets.chomp
|
103
150
|
conn ||= LDAP::Conn.new(HOST,PORT)
|
104
151
|
case a
|
105
152
|
when "bind2"
|
@@ -129,14 +176,14 @@ class TestLdap < Test::Unit::TestCase
|
|
129
176
|
begin
|
130
177
|
case conn.compare("cn=Takaaki Tateishi, dc=localhost, dc=localdomain",
|
131
178
|
"cn", $1)
|
132
|
-
when true; puts "OK true"; next
|
133
|
-
when false; puts "OK false"; next
|
179
|
+
when true; out.puts "OK true"; next
|
180
|
+
when false; out.puts "OK false"; next
|
134
181
|
end
|
135
182
|
rescue LDAP::ResultError => e
|
136
183
|
# For older versions of ruby-ldap
|
137
184
|
case e.message
|
138
|
-
when /Compare True/i; puts "OK true"; next
|
139
|
-
when /Compare False/i; puts "OK false"; next
|
185
|
+
when /Compare True/i; out.puts "OK true"; next
|
186
|
+
when /Compare False/i; out.puts "OK false"; next
|
140
187
|
end
|
141
188
|
raise
|
142
189
|
end
|
@@ -178,15 +225,15 @@ class TestLdap < Test::Unit::TestCase
|
|
178
225
|
res[dn] = entry
|
179
226
|
end
|
180
227
|
when "quit"
|
181
|
-
puts "OK"
|
228
|
+
out.puts "OK"
|
182
229
|
break
|
183
230
|
else
|
184
231
|
raise "Bad command! #{a.inspect}"
|
185
232
|
end
|
186
|
-
puts "OK"
|
233
|
+
out.puts "OK"
|
187
234
|
rescue Exception => e
|
188
235
|
$stderr.puts "Child exception: #{e}\n\t#{e.backtrace.join("\n\t")}"
|
189
|
-
puts "ERR #{e}"
|
236
|
+
out.puts "ERR #{e}"
|
190
237
|
end
|
191
238
|
end
|
192
239
|
end
|
data/test/util_test.rb
CHANGED
@@ -25,7 +25,7 @@ class TestLdapUtil < Test::Unit::TestCase
|
|
25
25
|
|
26
26
|
# Just for fun, let's try parsing it as UTF8
|
27
27
|
chars = res[0]["sn"].force_encoding('utf-8').scan(/./u)
|
28
|
-
assert_equal(["L", "u", "\
|
28
|
+
assert_equal(["L", "u", "\u010d", "i", "\u0107"], chars)
|
29
29
|
end
|
30
30
|
|
31
31
|
def test_join_dn
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-ldapserver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Candler
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-06-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -131,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
131
131
|
version: '0'
|
132
132
|
requirements: []
|
133
133
|
rubyforge_project:
|
134
|
-
rubygems_version: 2.4.
|
134
|
+
rubygems_version: 2.4.8
|
135
135
|
signing_key:
|
136
136
|
specification_version: 4
|
137
137
|
summary: A pure-Ruby framework for building LDAP servers
|
@@ -146,3 +146,4 @@ test_files:
|
|
146
146
|
- test/syntax_test.rb
|
147
147
|
- test/test_helper.rb
|
148
148
|
- test/util_test.rb
|
149
|
+
has_rdoc:
|