ruby-ldap 0.9.19 → 0.9.20

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
- ---
2
- SHA512:
3
- metadata.gz: fbdef63d5618e4f8a8500c7afff630ba9622436f23ef7b5a7e16717d44aaf175f6932e90ca95afc8c5a5e2ff4e1a028a8e1e8ca4909260a9f563d8e33b42dc1e
4
- data.tar.gz: 337ea5de70b3d724077e34700510f7c18f6bf574bdfa099c73507368a6883164ff25eecfa43cdc67c8340ad04229d1c2ec8fe1ea48ac7a7a0e60e9f0a300881a
5
- SHA1:
6
- metadata.gz: d7de5be007d5104fd3cfd75aeaee5170c5f8c5b4
7
- data.tar.gz: e0fcbbcfce4ec9a65a213550e6c7228eafd27b2b
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d5badae0624830b9ac31009f196e4ed1887ec6fe
4
+ data.tar.gz: 2fc2844279fa77ca3fe2bfadd73c65a3bceff6eb
5
+ SHA512:
6
+ metadata.gz: e4f59c4377592ddc1dac85e2292fb2930003e4c759c877f5b8ffe4c25f85911a0c61b10fcc041dfc5756e063ee75e3bc38dfa0899da9e3e317a55bdb49223238
7
+ data.tar.gz: cc58c3fc9734d0fd52c5b6bbc7aa7c22ffa335bc9e6d7a562bbe24eab8f48e4572fe0e32dbbbc2898323004ff9e925be488eea5291dcdadaa97a7a161c4035d0
data/ChangeLog CHANGED
@@ -1,3 +1,7 @@
1
+ Wed Jul 11 21:58:38 UTC 2018 Alexey Chebotar <alexey.chebotar@gmail.com>
2
+ * Version 0.9.20
3
+ * Added support of LDAP_OPT_X_TLS_NEWCTX. Thanks to Kouhei Sutou.
4
+
1
5
  Mon Jun 20 14:30:52 UTC 2016 Alexey Chebotar <alexey.chebotar@gmail.com>
2
6
  * Version 0.9.19
3
7
  * Fixed parsing of LDIF with CR LF line separators (GH-38).
data/NOTES CHANGED
@@ -1,3 +1,9 @@
1
+ 0.9.20
2
+ -----
3
+ * Added support of LDAP_OPT_X_TLS_NEWCTX.
4
+ Thanks to Kouhei Sutou.
5
+
6
+
1
7
  0.9.19
2
8
  -----
3
9
  * Fixed parsing of LDIF with CR LF line separators (GH-38).
data/conn.c CHANGED
@@ -502,6 +502,9 @@ rb_ldap_conn_set_option (VALUE self, VALUE opt, VALUE data)
502
502
  #ifdef LDAP_OPT_X_TLS_REQUIRE_CERT
503
503
  case LDAP_OPT_X_TLS_REQUIRE_CERT:
504
504
  #endif
505
+ #ifdef LDAP_OPT_X_TLS_NEWCTX
506
+ case LDAP_OPT_X_TLS_NEWCTX:
507
+ #endif
505
508
  #endif
506
509
  idata = NUM2INT (data);
507
510
  optdata = &idata;
data/ldap.c CHANGED
@@ -496,6 +496,9 @@ Init_ldap ()
496
496
  #ifdef LDAP_OPT_X_TLS_RANDOM_FILE
497
497
  rb_ldap_define_opt (LDAP_OPT_X_TLS_RANDOM_FILE);
498
498
  #endif
499
+ #ifdef LDAP_OPT_X_TLS_NEWCTX
500
+ rb_ldap_define_opt (LDAP_OPT_X_TLS_NEWCTX);
501
+ #endif
499
502
  #ifdef LDAP_OPT_X_TLS_NEVER
500
503
  rb_ldap_define_opt (LDAP_OPT_X_TLS_NEVER);
501
504
  #endif
data/rbldap.h CHANGED
@@ -27,8 +27,8 @@
27
27
 
28
28
  #define RB_LDAP_MAJOR_VERSION 0
29
29
  #define RB_LDAP_MINOR_VERSION 9
30
- #define RB_LDAP_PATCH_VERSION 19
31
- #define RB_LDAP_VERSION "0.9.19"
30
+ #define RB_LDAP_PATCH_VERSION 20
31
+ #define RB_LDAP_VERSION "0.9.20"
32
32
 
33
33
  #define LDAP_GET_OPT_MAX_BUFFER_SIZE (1024) /* >= sizeof(LDAPAPIInfo) */
34
34
 
@@ -11,7 +11,7 @@ when /^OpenLDAP/i
11
11
  conn = LDAP::SSLConn.new($HOST, $SSLPORT, false)
12
12
  when /^Netscape/i
13
13
  conn = LDAP::SSLConn.new($HOST, $SSLPORT,
14
- false, File.expand_path("~/.netscape/cert7.db"))
14
+ false, File.expand_path("~/.netscape/cert7.db"))
15
15
  conn.set_option(LDAP::LDAP_OPT_PROTOCOL_VERSION, 3)
16
16
  else
17
17
  raise(RuntimeError, "unknown vendor")
@@ -11,7 +11,7 @@ when /^OpenLDAP/i
11
11
  conn = LDAP::SSLConn.new($HOST, $PORT, true)
12
12
  when /^Netscape/i
13
13
  conn = LDAP::SSLConn.new($HOST, $SSLPORT,
14
- false, File.expand_path("~/.netscape/cert7.db"))
14
+ false, File.expand_path("~/.netscape/cert7.db"))
15
15
  conn.set_option(LDAP::LDAP_OPT_PROTOCOL_VERSION, 3)
16
16
  else
17
17
  raise(RuntimeError, "unknown vendor")
@@ -20,7 +20,7 @@ conn.bind{
20
20
  info = nil
21
21
  end
22
22
  print("host = #{host}, proto = #{proto}\n",
23
- "info.protocol_version = #{info.protocol_version}\n")
23
+ "info.protocol_version = #{info.protocol_version}\n")
24
24
  end
25
25
  }
26
26
 
@@ -9,7 +9,7 @@ LDAP::Conn.new($HOST, $PORT).bind{|conn|
9
9
  conn.perror("bind")
10
10
  begin
11
11
  conn.compare("cn=Takaaki Tateishi, dc=localhost, dc=localdomain",
12
- "cn", "Takaaki Tateishi")
12
+ "cn", "Takaaki Tateishi")
13
13
  rescue LDAP::ResultError
14
14
  exit(0)
15
15
  end
@@ -11,9 +11,9 @@ conn.bind('cn=root, dc=localhost, dc=localdomain','secret'){
11
11
  begin
12
12
  (1..200).each{|i|
13
13
  entry = {
14
- 'objectclass' => ['top', 'person'],
15
- 'cn' => ["User #{i}"],
16
- 'sn' => ["user#{i}"],
14
+ 'objectclass' => ['top', 'person'],
15
+ 'cn' => ["User #{i}"],
16
+ 'sn' => ["user#{i}"],
17
17
  }
18
18
  conn.add("cn=User #{i}, dc=localhost, dc=localdomain", entry)
19
19
  }
@@ -30,12 +30,12 @@ conn.bind('cn=root, dc=localhost, dc=localdomain','secret'){
30
30
  users = []
31
31
  begin
32
32
  conn.search_ext("dc=localhost, dc=localdomain",
33
- LDAP::LDAP_SCOPE_SUBTREE,
34
- "(&(objectclass=*)(cn=User*))",
35
- nil, false, # attrs, attrsonly
36
- nil, nil, # serverctrls, clientctrls
37
- 0, 0, # sec, usec
38
- 100){|e| # sizelimit
33
+ LDAP::LDAP_SCOPE_SUBTREE,
34
+ "(&(objectclass=*)(cn=User*))",
35
+ nil, false, # attrs, attrsonly
36
+ nil, nil, # serverctrls, clientctrls
37
+ 0, 0, # sec, usec
38
+ 100){|e| # sizelimit
39
39
  users.push(e.vals("sn"))
40
40
  }
41
41
  rescue LDAP::ResultError
@@ -14,8 +14,8 @@ rescue LDAP::ResultError => e
14
14
  conn.bind('cn=root, dc=localhost, dc=localdomain','secret'){
15
15
  conn.perror("bind")
16
16
  conn.modrdn("cn=Takaaki Tateishi, dc=localhost, dc=localdomain",
17
- "cn=Takaaki-Tateishi",
18
- true)
17
+ "cn=Takaaki-Tateishi",
18
+ true)
19
19
  conn.perror("modrdn")
20
20
  }
21
21
  exit(0)
@@ -6,8 +6,8 @@ require 'optparse'
6
6
  require 'pp'
7
7
 
8
8
  options = {
9
- :host => 'localhost',
10
- :port => '389',
9
+ :host => 'localhost',
10
+ :port => '389',
11
11
  :scope => 'base',
12
12
  :filter => '(objectclass=*)',
13
13
  :key_pw => ''
@@ -15,44 +15,44 @@ options = {
15
15
 
16
16
  optparse = OptionParser.new do |opts|
17
17
  opts.on("-P", "--certpath [CERTFILE]", "cert8 path") do |cp|
18
- options[:cp] = cp
18
+ options[:cp] = cp
19
19
  end
20
20
 
21
21
  opts.on("-N", "--certname [CERTNAME]", "certificate name") do |opt|
22
- options[:cn] = opt
22
+ options[:cn] = opt
23
23
  end
24
24
 
25
25
  opts.on("-W", "--keypassword PASSWORD", "key password") do |opt|
26
- options[:key_pw] = opt
26
+ options[:key_pw] = opt
27
27
  end
28
28
 
29
29
  opts.on("-h", "--host HOST", "server hostname") do |host|
30
- options[:host] = host
30
+ options[:host] = host
31
31
  end
32
32
 
33
33
  opts.on("-p", "--port PORT", "server port") do |opt|
34
- options[:port] = opt
34
+ options[:port] = opt
35
35
  end
36
36
 
37
37
  opts.on("-b", "--base [BASE]", "search base") do |opt|
38
- options[:base] = opt
38
+ options[:base] = opt
39
39
  end
40
40
 
41
41
  opts.on("-s", "--scope SCOPE", "search scope") do |opt|
42
- options[:scope] = opt
42
+ options[:scope] = opt
43
43
  end
44
44
 
45
45
  opts.on("-f", "--filter FILTER", "search filter") do |opt|
46
- options[:filter] = opt
46
+ options[:filter] = opt
47
47
  end
48
48
 
49
49
  opts.on("-a", "--attributes ATTRS", "attrs to return") do |opt|
50
- options[:attrs] = opt.split(/ *, */)
50
+ options[:attrs] = opt.split(/ *, */)
51
51
  end
52
52
 
53
53
  opts.on("--help") do |opt|
54
- puts opts
55
- exit 0
54
+ puts opts
55
+ exit 0
56
56
  end
57
57
  end
58
58
 
@@ -80,7 +80,7 @@ raise ArgumentError.new("cert file's missing") unless (File.exists? options[:cp]
80
80
 
81
81
  # Connect
82
82
  conn = LDAP::SSLAuthConn.new(options[:host], options[:port].to_i, true,
83
- File.expand_path(options[:cp]), options[:cn], options[:key_pw])
83
+ File.expand_path(options[:cp]), options[:cn], options[:key_pw])
84
84
  conn.set_option(LDAP::LDAP_OPT_PROTOCOL_VERSION, 3)
85
85
 
86
86
 
@@ -93,7 +93,7 @@ begin
93
93
 
94
94
  results = {}
95
95
  conn.search(options[:base], options[:scope], options[:filter], options[:attrs], false, 10) do |entry|
96
- results[entry.dn] = entry.to_hash
96
+ results[entry.dn] = entry.to_hash
97
97
  end
98
98
 
99
99
  pp results
@@ -9,8 +9,8 @@ LDAP::Conn.new($HOST, $PORT).bind{|conn|
9
9
  conn.perror("bind")
10
10
  begin
11
11
  conn.search("dc=localhost, dc=localdomain",
12
- LDAP::LDAP_SCOPE_SUBTREE,
13
- "(objectclass=*)"){|e|
12
+ LDAP::LDAP_SCOPE_SUBTREE,
13
+ "(objectclass=*)"){|e|
14
14
  p e.vals("cn")
15
15
  p e.to_hash()
16
16
  }
@@ -14,7 +14,7 @@ LDAP::Conn.new($HOST, $PORT).bind{|conn|
14
14
  conn.perror("bind")
15
15
  sub = nil
16
16
  conn.search("dc=localhost, dc=localdomain", LDAP::LDAP_SCOPE_SUBTREE,
17
- "(objectclass=*)", nil, false, 0, 0, "sn", sorter){|e|
17
+ "(objectclass=*)", nil, false, 0, 0, "sn", sorter){|e|
18
18
  dn = e.dn
19
19
  print("# #{LDAP.dn2ufn(dn)}\n")
20
20
  print("dn: #{dn}\n")
@@ -29,6 +29,6 @@ LDAP::Conn.new($HOST, $PORT).bind{|conn|
29
29
  sub.dn
30
30
  rescue LDAP::InvalidEntryError => e
31
31
  $stderr.print("#{e.to_s}.\n",
32
- "This exception is expected.\n")
32
+ "This exception is expected.\n")
33
33
  end
34
34
  }
@@ -13,7 +13,7 @@ conn.bind{
13
13
  # search2 returns an array of hash
14
14
  print("search2 without a block:\n")
15
15
  conn.search2("dc=localhost, dc=localdomain", LDAP::LDAP_SCOPE_SUBTREE,
16
- "(objectclass=*)", nil, false, 0, 0).each{|ent|
16
+ "(objectclass=*)", nil, false, 0, 0).each{|ent|
17
17
  ent.each{|attr,vals|
18
18
  print("#{attr}: #{vals.join(', ')}\n")
19
19
  }
@@ -18,9 +18,9 @@ class TC_LDAPTest < Test::Unit::TestCase
18
18
  if line =~ /^host\s+(\S+)$/
19
19
  @@host = $1
20
20
  break
21
- elsif line =~ /^base\s+(\S+)$/
22
- @@base = $1
23
- break
21
+ elsif line =~ /^base\s+(\S+)$/
22
+ @@base = $1
23
+ break
24
24
  end
25
25
  end
26
26
  end
@@ -120,5 +120,4 @@ class TC_ConnectionTest < TC_LDAPTest
120
120
  @@conn = nil
121
121
  end
122
122
 
123
-
124
123
  end
@@ -86,7 +86,7 @@ class TC_LDIFTest < Test::Unit::TestCase
86
86
  ldif = File.open( 'data/ldif12.txt' ) { |f| f.readlines }
87
87
  entry = LDAP::LDIF.parse_entry( ldif )
88
88
  assert( entry.mods.keys.include?( LDAP::LDAP_MOD_REPLACE |
89
- LDAP::LDAP_MOD_BVALUES ) )
89
+ LDAP::LDAP_MOD_BVALUES ) )
90
90
  end
91
91
 
92
92
  def test_change_record_control
@@ -109,9 +109,9 @@ class TC_LDIFTest < Test::Unit::TestCase
109
109
 
110
110
  def test_mod_to_ldif
111
111
  mod = LDAP.mod( LDAP::LDAP_MOD_ADD | LDAP::LDAP_MOD_BVALUES,
112
- 'mailRoutingAddress', ['a', 'b'] )
112
+ 'mailRoutingAddress', ['a', 'b'] )
113
113
  assert_instance_of( LDAP::LDIF::Mod,
114
- mod.to_ldif( 'uid=foo,dc=example,dc=com' ) )
114
+ mod.to_ldif( 'uid=foo,dc=example,dc=com' ) )
115
115
  assert_equal( <<LDIF, mod.to_ldif( 'uid=foo,dc=example,dc=com' ) )
116
116
  dn: uid=foo,dc=example,dc=com
117
117
  changetype: add
@@ -120,7 +120,7 @@ mailRoutingAddress: b
120
120
  LDIF
121
121
 
122
122
  mod = LDAP.mod( LDAP::LDAP_MOD_REPLACE | LDAP::LDAP_MOD_BVALUES,
123
- 'mailRoutingAddress', ['a', 'b'] )
123
+ 'mailRoutingAddress', ['a', 'b'] )
124
124
  assert_equal( <<LDIF, mod.to_ldif( 'uid=foo,dc=example,dc=com' ) )
125
125
  dn: uid=foo,dc=example,dc=com
126
126
  changetype: modify
@@ -16,17 +16,17 @@ class TC_SearchTest < TC_LDAPTest
16
16
  def test_attrs
17
17
  assert_raise( TypeError ) do
18
18
  @@conn.search( @@naming_context, LDAP::LDAP_SCOPE_ONELEVEL,
19
- '(objectClass=*)', false )
19
+ '(objectClass=*)', false )
20
20
  end
21
21
 
22
22
  @@conn.search( @@naming_context, LDAP::LDAP_SCOPE_ONELEVEL,
23
- '(objectClass=*)', [], true ) do |x|
23
+ '(objectClass=*)', [], true ) do |x|
24
24
  assert_nil( x['objectClass'] )
25
25
  break
26
26
  end
27
27
 
28
28
  @@conn.search( @@naming_context, LDAP::LDAP_SCOPE_ONELEVEL,
29
- '(objectClass=*)', 'objectClass' ) do |x|
29
+ '(objectClass=*)', 'objectClass' ) do |x|
30
30
  x = x.to_hash
31
31
  x.delete( 'dn' )
32
32
  assert( x.to_hash.keys == [ 'objectClass' ] )
@@ -39,14 +39,14 @@ class TC_SearchTest < TC_LDAPTest
39
39
  def test_sort_attr
40
40
  ou = []
41
41
  @@conn.search( @@naming_context, LDAP::LDAP_SCOPE_ONELEVEL,
42
- '(ou=*)' ) do |x|
42
+ '(ou=*)' ) do |x|
43
43
  ou << x['ou']
44
44
  end
45
45
  ou.flatten!
46
46
 
47
47
  sorted_ou = []
48
48
  @@conn.search( @@naming_context, LDAP::LDAP_SCOPE_ONELEVEL,
49
- '(ou=*)', nil, nil, 0, 0, 'ou' ) do |x|
49
+ '(ou=*)', nil, nil, 0, 0, 'ou' ) do |x|
50
50
  sorted_ou << x['ou']
51
51
  end
52
52
  sorted_ou.flatten!
@@ -60,7 +60,7 @@ class TC_SearchTest < TC_LDAPTest
60
60
  def test_sort_proc
61
61
  ct = []
62
62
  @@conn.search( @@naming_context, LDAP::LDAP_SCOPE_ONELEVEL,
63
- '(objectClass=*)', [ 'createTimestamp' ] ) do |x|
63
+ '(objectClass=*)', [ 'createTimestamp' ] ) do |x|
64
64
  ct << x['createTimestamp']
65
65
  end
66
66
  ct.flatten!
@@ -68,8 +68,8 @@ class TC_SearchTest < TC_LDAPTest
68
68
  sorted_ct = []
69
69
  s_proc = proc { |a,b| b <=> a }
70
70
  @@conn.search( @@naming_context, LDAP::LDAP_SCOPE_ONELEVEL,
71
- '(objectClass=*)', [ 'createTimestamp' ], nil, 0, 0,
72
- 'createTimestamp', s_proc ) do |x|
71
+ '(objectClass=*)', [ 'createTimestamp' ], nil, 0, 0,
72
+ 'createTimestamp', s_proc ) do |x|
73
73
  sorted_ct << x['createTimestamp']
74
74
  end
75
75
  sorted_ct.flatten!
@@ -88,20 +88,20 @@ class TC_SearchTest < TC_LDAPTest
88
88
  loop do
89
89
  ber_string = LDAP::Control.encode( page_size, cookie )
90
90
  ctrl = LDAP::Control.new( LDAP::LDAP_CONTROL_PAGEDRESULTS,
91
- ber_string,
92
- true )
91
+ ber_string,
92
+ true )
93
93
  @@conn.set_option( LDAP::LDAP_OPT_SERVER_CONTROLS, [ ctrl ] )
94
94
 
95
95
  this_page = nil
96
96
  assert_nothing_raised do
97
- begin
97
+ begin
98
98
  this_page = @@conn.search2( @@naming_context,
99
- LDAP::LDAP_SCOPE_ONELEVEL,
100
- '(objectclass=*)' )
101
- rescue LDAP::ResultError
102
- @@conn = nil
103
- raise
104
- end
99
+ LDAP::LDAP_SCOPE_ONELEVEL,
100
+ '(objectclass=*)' )
101
+ rescue LDAP::ResultError
102
+ @@conn = nil
103
+ raise
104
+ end
105
105
  end
106
106
  total += this_page.size
107
107
  assert_equal( page_size, this_page.size )
@@ -126,7 +126,7 @@ class TC_SearchTest < TC_LDAPTest
126
126
  setup
127
127
 
128
128
  unpaged = @@conn.search2( @@naming_context, LDAP::LDAP_SCOPE_ONELEVEL,
129
- '(objectclass=*)' )
129
+ '(objectclass=*)' )
130
130
 
131
131
  # Does the total number of results match the equivalent unpaged search?
132
132
  # This has a race condition, but we assume the number of top-level OUs is
metadata CHANGED
@@ -1,38 +1,45 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: ruby-ldap
3
- version: !ruby/object:Gem::Version
4
- version: 0.9.19
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.9.20
5
5
  platform: ruby
6
- authors:
6
+ authors:
7
7
  - Alexey Chebotar
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
-
12
- date: 2016-06-20 00:00:00 Z
11
+ date: 2018-07-11 00:00:00.000000000 Z
13
12
  dependencies: []
13
+ description: 'It provides the interface to some LDAP libraries (e.g. OpenLDAP, Netscape
14
+ SDK and Active Directory). The common API for application development is described
15
+ in RFC1823 and is supported by Ruby/LDAP.
14
16
 
15
- description: |
16
- It provides the interface to some LDAP libraries (e.g. OpenLDAP, Netscape SDK and Active Directory). The common API for application development is described in RFC1823 and is supported by Ruby/LDAP.
17
-
17
+ '
18
18
  email: alexey.chebotar@gmail.com
19
19
  executables: []
20
-
21
- extensions:
20
+ extensions:
22
21
  - extconf.rb
23
22
  extra_rdoc_files: []
24
-
25
- files:
26
- - ChangeLog
23
+ files:
27
24
  - COPYING
25
+ - ChangeLog
28
26
  - FAQ
29
27
  - NOTES
30
28
  - README
31
29
  - TODO
30
+ - clientauth.c
31
+ - conn.c
32
+ - entry.c
32
33
  - extconf.rb
34
+ - ldap.c
33
35
  - lib/ldap/control.rb
34
36
  - lib/ldap/ldif.rb
35
37
  - lib/ldap/schema.rb
38
+ - misc.c
39
+ - mod.c
40
+ - rbldap.h
41
+ - saslconn.c
42
+ - sslconn.c
36
43
  - test/add.rb
37
44
  - test/add2.rb
38
45
  - test/add3.rb
@@ -58,55 +65,30 @@ files:
58
65
  - test/tc_schema.rb
59
66
  - test/tc_search.rb
60
67
  - test/ts_ldap.rb
61
- - rbldap.h
62
- - test/openldap_tests/progs/slapd-common.h
63
68
  - win/winlber.h
64
69
  - win/winldap.h
65
- - clientauth.c
66
- - conn.c
67
- - entry.c
68
- - ldap.c
69
- - misc.c
70
- - mod.c
71
- - saslconn.c
72
- - sslconn.c
73
- - test/openldap_tests/progs/ldif-filter.c
74
- - test/openldap_tests/progs/slapd-addel.c
75
- - test/openldap_tests/progs/slapd-auth.c
76
- - test/openldap_tests/progs/slapd-bind.c
77
- - test/openldap_tests/progs/slapd-common.c
78
- - test/openldap_tests/progs/slapd-modify.c
79
- - test/openldap_tests/progs/slapd-modrdn.c
80
- - test/openldap_tests/progs/slapd-mtread.c
81
- - test/openldap_tests/progs/slapd-read.c
82
- - test/openldap_tests/progs/slapd-search.c
83
- - test/openldap_tests/progs/slapd-tester.c
84
70
  - win/wldap32.def
85
71
  homepage: http://ruby-ldap.sourceforge.net/
86
72
  licenses: []
87
-
88
73
  metadata: {}
89
-
90
74
  post_install_message:
91
75
  rdoc_options: []
92
-
93
- require_paths:
76
+ require_paths:
94
77
  - lib
95
- required_ruby_version: !ruby/object:Gem::Requirement
96
- requirements:
97
- - &id001
98
- - ">="
99
- - !ruby/object:Gem::Version
100
- version: "0"
101
- required_rubygems_version: !ruby/object:Gem::Requirement
102
- requirements:
103
- - *id001
78
+ required_ruby_version: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ required_rubygems_version: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
104
88
  requirements: []
105
-
106
89
  rubyforge_project: ruby-ldap
107
- rubygems_version: 2.0.17
90
+ rubygems_version: 2.6.14
108
91
  signing_key:
109
92
  specification_version: 4
110
93
  summary: Ruby/LDAP is an extension module for Ruby
111
94
  test_files: []
112
-