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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: abccbde672eeae57c5376073590192d391e524c9
4
- data.tar.gz: 51a8549b288719b8740f8f9804ae68d1dac8785c
3
+ metadata.gz: fb487768946c1d6ad6532ed0f6a1f993202ba23b
4
+ data.tar.gz: 34e4d89ac933c6d4916d8df082d9e02e8ac48d02
5
5
  SHA512:
6
- metadata.gz: 2a63a336eb6f1f79432459af9b847b86f4742c4e16dd7541569bf7dafbbcc8c2cb34183cae6cfcd4817f6bf4a3e1057d7b1bcb7f7fcaa5515ff5fd995bdd3cdb
7
- data.tar.gz: 1d98bfe14ea67c0794ce696fd0f45b05d9b734bc672f7dbfa72b1ed3bd8bded79e18105c287b217a348fa4c066f270f72720fa8d0ecb321670cf6abd63663eb0
6
+ metadata.gz: 019f96b0e7586bc91c578db37c0a10b58aa9a6599879d9483c2651d9f7704742d80640dd17ed88dad60fa1a3c7e4501fde1c53167edfa1dc886136c279f6d04a
7
+ data.tar.gz: d571397a73402c511890a01c59d35469bcd461acb929b3535658d2e7eb0c0e03573fc9bdbc5a96a7ca7b37de4c820ed361df9bc09605e125095c988be605019b
data/ChangeLog CHANGED
@@ -1,3 +1,6 @@
1
+ 0.5.2
2
+ * Make sure the exception used to stop the child doesn't propagate up (patch by Kasumi Hanazuki)
3
+
1
4
  0.3.1 - 2008-01-16
2
5
  * First release as a gem [Brandon Keepers]
3
6
 
@@ -97,7 +97,11 @@ class Server
97
97
 
98
98
  def stop
99
99
  @thread.raise Interrupt, "" # <= temporary fix for 1.8.6
100
- @thread.join
100
+ begin
101
+ @thread.join
102
+ rescue Interrupt
103
+ # nop
104
+ end
101
105
  end
102
106
 
103
107
  end # class Server
@@ -1,5 +1,5 @@
1
1
  module LDAP #:nodoc:
2
2
  class Server #:nodoc:
3
- VERSION = '0.5.1'
3
+ VERSION = '0.5.2'
4
4
  end
5
5
  end
@@ -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
@@ -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 = IO.popen("-","w+") # this is a fork()
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
@@ -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", "\xc4\x8d", "i", "\xc4\x87"], chars)
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.1
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-02-14 00:00:00.000000000 Z
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.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: