net-ldap 0.16.0 → 0.18.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.
- checksums.yaml +5 -5
- data/History.rdoc +64 -0
- data/README.rdoc +18 -6
- data/lib/net/ber/core_ext.rb +6 -6
- data/lib/net/ber.rb +2 -2
- data/lib/net/ldap/auth_adapter/gss_spnego.rb +2 -2
- data/lib/net/ldap/auth_adapter/sasl.rb +1 -1
- data/lib/net/ldap/auth_adapter/simple.rb +1 -1
- data/lib/net/ldap/connection.rb +23 -16
- data/lib/net/ldap/dataset.rb +1 -3
- data/lib/net/ldap/dn.rb +14 -22
- data/lib/net/ldap/entry.rb +11 -2
- data/lib/net/ldap/error.rb +2 -26
- data/lib/net/ldap/filter.rb +10 -3
- data/lib/net/ldap/instrumentation.rb +2 -2
- data/lib/net/ldap/password.rb +7 -5
- data/lib/net/ldap/pdu.rb +1 -1
- data/lib/net/ldap/version.rb +1 -1
- data/lib/net/ldap.rb +40 -17
- data/lib/net/snmp.rb +1 -1
- data/lib/net-ldap.rb +1 -1
- metadata +16 -106
- data/.gitignore +0 -9
- data/.rubocop.yml +0 -20
- data/.rubocop_todo.yml +0 -753
- data/.travis.yml +0 -33
- data/CONTRIBUTING.md +0 -54
- data/Gemfile +0 -2
- data/Rakefile +0 -23
- data/net-ldap.gemspec +0 -37
- data/script/changelog +0 -47
- data/script/generate-fixture-ca +0 -48
- data/script/install-openldap +0 -134
- data/script/package +0 -7
- data/script/release +0 -16
- data/test/ber/core_ext/test_array.rb +0 -22
- data/test/ber/core_ext/test_string.rb +0 -25
- data/test/ber/test_ber.rb +0 -153
- data/test/fixtures/ca/ca.info +0 -4
- data/test/fixtures/ca/cacert.pem +0 -24
- data/test/fixtures/ca/cakey.pem +0 -190
- data/test/fixtures/openldap/memberof.ldif +0 -33
- data/test/fixtures/openldap/retcode.ldif +0 -76
- data/test/fixtures/openldap/slapd.conf.ldif +0 -67
- data/test/fixtures/seed.ldif +0 -374
- data/test/integration/test_add.rb +0 -28
- data/test/integration/test_ber.rb +0 -30
- data/test/integration/test_bind.rb +0 -244
- data/test/integration/test_delete.rb +0 -31
- data/test/integration/test_open.rb +0 -88
- data/test/integration/test_password_modify.rb +0 -80
- data/test/integration/test_return_codes.rb +0 -38
- data/test/integration/test_search.rb +0 -77
- data/test/support/vm/openldap/.gitignore +0 -1
- data/test/support/vm/openldap/README.md +0 -64
- data/test/support/vm/openldap/Vagrantfile +0 -34
- data/test/test_auth_adapter.rb +0 -15
- data/test/test_dn.rb +0 -44
- data/test/test_entry.rb +0 -65
- data/test/test_filter.rb +0 -223
- data/test/test_filter_parser.rb +0 -24
- data/test/test_helper.rb +0 -74
- data/test/test_ldap.rb +0 -114
- data/test/test_ldap_connection.rb +0 -491
- data/test/test_ldif.rb +0 -104
- data/test/test_password.rb +0 -10
- data/test/test_rename.rb +0 -77
- data/test/test_search.rb +0 -39
- data/test/test_snmp.rb +0 -119
- data/test/test_ssl_ber.rb +0 -40
- data/test/testdata.ldif +0 -101
- data/testserver/ldapserver.rb +0 -209
- data/testserver/testdata.ldif +0 -101
data/lib/net/ldap.rb
CHANGED
@@ -17,19 +17,19 @@ module Net # :nodoc:
|
|
17
17
|
end
|
18
18
|
require 'socket'
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
20
|
+
require_relative 'ber'
|
21
|
+
require_relative 'ldap/pdu'
|
22
|
+
require_relative 'ldap/filter'
|
23
|
+
require_relative 'ldap/dataset'
|
24
|
+
require_relative 'ldap/password'
|
25
|
+
require_relative 'ldap/entry'
|
26
|
+
require_relative 'ldap/instrumentation'
|
27
|
+
require_relative 'ldap/connection'
|
28
|
+
require_relative 'ldap/version'
|
29
|
+
require_relative 'ldap/error'
|
30
|
+
require_relative 'ldap/auth_adapter'
|
31
|
+
require_relative 'ldap/auth_adapter/simple'
|
32
|
+
require_relative 'ldap/auth_adapter/sasl'
|
33
33
|
|
34
34
|
Net::LDAP::AuthAdapter.register([:simple, :anon, :anonymous], Net::LDAP::AuthAdapter::Simple)
|
35
35
|
Net::LDAP::AuthAdapter.register(:sasl, Net::LDAP::AuthAdapter::Sasl)
|
@@ -412,7 +412,7 @@ class Net::LDAP
|
|
412
412
|
ResultCodeStrongerAuthRequired => "Stronger Auth Needed",
|
413
413
|
ResultCodeReferral => "Referral",
|
414
414
|
ResultCodeAdminLimitExceeded => "Admin Limit Exceeded",
|
415
|
-
ResultCodeUnavailableCriticalExtension => "Unavailable
|
415
|
+
ResultCodeUnavailableCriticalExtension => "Unavailable critical extension",
|
416
416
|
ResultCodeConfidentialityRequired => "Confidentiality Required",
|
417
417
|
ResultCodeSaslBindInProgress => "saslBindInProgress",
|
418
418
|
ResultCodeNoSuchAttribute => "No Such Attribute",
|
@@ -712,7 +712,7 @@ class Net::LDAP
|
|
712
712
|
begin
|
713
713
|
@open_connection = new_connection
|
714
714
|
payload[:connection] = @open_connection
|
715
|
-
payload[:bind] = @open_connection.bind(@auth)
|
715
|
+
payload[:bind] = @result = @open_connection.bind(@auth)
|
716
716
|
yield self
|
717
717
|
ensure
|
718
718
|
@open_connection.close if @open_connection
|
@@ -1182,14 +1182,22 @@ class Net::LDAP
|
|
1182
1182
|
# entries. This method sends an extra control code to tell the LDAP server
|
1183
1183
|
# to do a tree delete. ('1.2.840.113556.1.4.805')
|
1184
1184
|
#
|
1185
|
+
# If the LDAP server does not support the DELETE_TREE control code, subordinate
|
1186
|
+
# entries are deleted recursively instead.
|
1187
|
+
#
|
1185
1188
|
# Returns True or False to indicate whether the delete succeeded. Extended
|
1186
1189
|
# status information is available by calling #get_operation_result.
|
1187
1190
|
#
|
1188
1191
|
# dn = "mail=deleteme@example.com, ou=people, dc=example, dc=com"
|
1189
1192
|
# ldap.delete_tree :dn => dn
|
1190
1193
|
def delete_tree(args)
|
1191
|
-
|
1194
|
+
if search_root_dse[:supportedcontrol].include? Net::LDAP::LDAPControls::DELETE_TREE
|
1195
|
+
delete(args.merge(:control_codes => [[Net::LDAP::LDAPControls::DELETE_TREE, true]]))
|
1196
|
+
else
|
1197
|
+
recursive_delete(args)
|
1198
|
+
end
|
1192
1199
|
end
|
1200
|
+
|
1193
1201
|
# This method is experimental and subject to change. Return the rootDSE
|
1194
1202
|
# record from the LDAP server as a Net::LDAP::Entry, or an empty Entry if
|
1195
1203
|
# the server doesn't return the record.
|
@@ -1320,7 +1328,7 @@ class Net::LDAP
|
|
1320
1328
|
# Force connect to see if there's a connection error
|
1321
1329
|
connection.socket
|
1322
1330
|
connection
|
1323
|
-
rescue Errno::ECONNREFUSED, Errno::ETIMEDOUT
|
1331
|
+
rescue Errno::ECONNREFUSED, Errno::ETIMEDOUT => e
|
1324
1332
|
@result = {
|
1325
1333
|
:resultCode => 52,
|
1326
1334
|
:errorMessage => ResultStrings[ResultCodeUnavailable],
|
@@ -1340,4 +1348,19 @@ class Net::LDAP
|
|
1340
1348
|
end
|
1341
1349
|
end
|
1342
1350
|
|
1351
|
+
# Recursively delete a dn and it's subordinate children.
|
1352
|
+
# This is useful when a server does not support the DELETE_TREE control code.
|
1353
|
+
def recursive_delete(args)
|
1354
|
+
raise EmptyDNError unless args.is_a?(Hash) && args.key?(:dn)
|
1355
|
+
# Delete Children
|
1356
|
+
search(base: args[:dn], scope: Net::LDAP::SearchScope_SingleLevel) do |entry|
|
1357
|
+
recursive_delete(dn: entry.dn)
|
1358
|
+
end
|
1359
|
+
# Delete Self
|
1360
|
+
unless delete(dn: args[:dn])
|
1361
|
+
raise Net::LDAP::Error, get_operation_result[:error_message].to_s
|
1362
|
+
end
|
1363
|
+
true
|
1364
|
+
end
|
1365
|
+
|
1343
1366
|
end # class LDAP
|
data/lib/net/snmp.rb
CHANGED
data/lib/net-ldap.rb
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# -*- ruby encoding: utf-8 -*-
|
2
|
-
|
2
|
+
require_relative 'net/ldap'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-ldap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Francis Cianfrocca
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date:
|
16
|
+
date: 2023-04-04 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: flexmock
|
@@ -35,56 +35,56 @@ dependencies:
|
|
35
35
|
requirements:
|
36
36
|
- - "~>"
|
37
37
|
- !ruby/object:Gem::Version
|
38
|
-
version:
|
38
|
+
version: 12.3.3
|
39
39
|
type: :development
|
40
40
|
prerelease: false
|
41
41
|
version_requirements: !ruby/object:Gem::Requirement
|
42
42
|
requirements:
|
43
43
|
- - "~>"
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version:
|
45
|
+
version: 12.3.3
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
47
|
name: rubocop
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
49
49
|
requirements:
|
50
50
|
- - "~>"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version:
|
52
|
+
version: '1.48'
|
53
53
|
type: :development
|
54
54
|
prerelease: false
|
55
55
|
version_requirements: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
57
|
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version:
|
59
|
+
version: '1.48'
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
61
|
name: test-unit
|
62
62
|
requirement: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
|
-
- - "
|
64
|
+
- - "~>"
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version: '
|
66
|
+
version: '3.3'
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
69
|
version_requirements: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
|
-
- - "
|
71
|
+
- - "~>"
|
72
72
|
- !ruby/object:Gem::Version
|
73
|
-
version: '
|
73
|
+
version: '3.3'
|
74
74
|
- !ruby/object:Gem::Dependency
|
75
75
|
name: byebug
|
76
76
|
requirement: !ruby/object:Gem::Requirement
|
77
77
|
requirements:
|
78
|
-
- - "
|
78
|
+
- - "~>"
|
79
79
|
- !ruby/object:Gem::Version
|
80
|
-
version:
|
80
|
+
version: 9.0.6
|
81
81
|
type: :development
|
82
82
|
prerelease: false
|
83
83
|
version_requirements: !ruby/object:Gem::Requirement
|
84
84
|
requirements:
|
85
|
-
- - "
|
85
|
+
- - "~>"
|
86
86
|
- !ruby/object:Gem::Version
|
87
|
-
version:
|
87
|
+
version: 9.0.6
|
88
88
|
description: |-
|
89
89
|
Net::LDAP for Ruby (also called net-ldap) implements client access for the
|
90
90
|
Lightweight Directory Access Protocol (LDAP), an IETF standard protocol for
|
@@ -112,18 +112,11 @@ extra_rdoc_files:
|
|
112
112
|
- License.rdoc
|
113
113
|
- README.rdoc
|
114
114
|
files:
|
115
|
-
- ".gitignore"
|
116
|
-
- ".rubocop.yml"
|
117
|
-
- ".rubocop_todo.yml"
|
118
|
-
- ".travis.yml"
|
119
|
-
- CONTRIBUTING.md
|
120
115
|
- Contributors.rdoc
|
121
|
-
- Gemfile
|
122
116
|
- Hacking.rdoc
|
123
117
|
- History.rdoc
|
124
118
|
- License.rdoc
|
125
119
|
- README.rdoc
|
126
|
-
- Rakefile
|
127
120
|
- lib/net-ldap.rb
|
128
121
|
- lib/net/ber.rb
|
129
122
|
- lib/net/ber/ber_parser.rb
|
@@ -149,50 +142,6 @@ files:
|
|
149
142
|
- lib/net/ldap/pdu.rb
|
150
143
|
- lib/net/ldap/version.rb
|
151
144
|
- lib/net/snmp.rb
|
152
|
-
- net-ldap.gemspec
|
153
|
-
- script/changelog
|
154
|
-
- script/generate-fixture-ca
|
155
|
-
- script/install-openldap
|
156
|
-
- script/package
|
157
|
-
- script/release
|
158
|
-
- test/ber/core_ext/test_array.rb
|
159
|
-
- test/ber/core_ext/test_string.rb
|
160
|
-
- test/ber/test_ber.rb
|
161
|
-
- test/fixtures/ca/ca.info
|
162
|
-
- test/fixtures/ca/cacert.pem
|
163
|
-
- test/fixtures/ca/cakey.pem
|
164
|
-
- test/fixtures/openldap/memberof.ldif
|
165
|
-
- test/fixtures/openldap/retcode.ldif
|
166
|
-
- test/fixtures/openldap/slapd.conf.ldif
|
167
|
-
- test/fixtures/seed.ldif
|
168
|
-
- test/integration/test_add.rb
|
169
|
-
- test/integration/test_ber.rb
|
170
|
-
- test/integration/test_bind.rb
|
171
|
-
- test/integration/test_delete.rb
|
172
|
-
- test/integration/test_open.rb
|
173
|
-
- test/integration/test_password_modify.rb
|
174
|
-
- test/integration/test_return_codes.rb
|
175
|
-
- test/integration/test_search.rb
|
176
|
-
- test/support/vm/openldap/.gitignore
|
177
|
-
- test/support/vm/openldap/README.md
|
178
|
-
- test/support/vm/openldap/Vagrantfile
|
179
|
-
- test/test_auth_adapter.rb
|
180
|
-
- test/test_dn.rb
|
181
|
-
- test/test_entry.rb
|
182
|
-
- test/test_filter.rb
|
183
|
-
- test/test_filter_parser.rb
|
184
|
-
- test/test_helper.rb
|
185
|
-
- test/test_ldap.rb
|
186
|
-
- test/test_ldap_connection.rb
|
187
|
-
- test/test_ldif.rb
|
188
|
-
- test/test_password.rb
|
189
|
-
- test/test_rename.rb
|
190
|
-
- test/test_search.rb
|
191
|
-
- test/test_snmp.rb
|
192
|
-
- test/test_ssl_ber.rb
|
193
|
-
- test/testdata.ldif
|
194
|
-
- testserver/ldapserver.rb
|
195
|
-
- testserver/testdata.ldif
|
196
145
|
homepage: http://github.com/ruby-ldap/ruby-net-ldap
|
197
146
|
licenses:
|
198
147
|
- MIT
|
@@ -214,49 +163,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
214
163
|
- !ruby/object:Gem::Version
|
215
164
|
version: '0'
|
216
165
|
requirements: []
|
217
|
-
|
218
|
-
rubygems_version: 2.5.2
|
166
|
+
rubygems_version: 3.4.7
|
219
167
|
signing_key:
|
220
168
|
specification_version: 4
|
221
169
|
summary: Net::LDAP for Ruby (also called net-ldap) implements client access for the
|
222
170
|
Lightweight Directory Access Protocol (LDAP), an IETF standard protocol for accessing
|
223
171
|
distributed directory services
|
224
|
-
test_files:
|
225
|
-
- test/ber/core_ext/test_array.rb
|
226
|
-
- test/ber/core_ext/test_string.rb
|
227
|
-
- test/ber/test_ber.rb
|
228
|
-
- test/fixtures/ca/ca.info
|
229
|
-
- test/fixtures/ca/cacert.pem
|
230
|
-
- test/fixtures/ca/cakey.pem
|
231
|
-
- test/fixtures/openldap/memberof.ldif
|
232
|
-
- test/fixtures/openldap/retcode.ldif
|
233
|
-
- test/fixtures/openldap/slapd.conf.ldif
|
234
|
-
- test/fixtures/seed.ldif
|
235
|
-
- test/integration/test_add.rb
|
236
|
-
- test/integration/test_ber.rb
|
237
|
-
- test/integration/test_bind.rb
|
238
|
-
- test/integration/test_delete.rb
|
239
|
-
- test/integration/test_open.rb
|
240
|
-
- test/integration/test_password_modify.rb
|
241
|
-
- test/integration/test_return_codes.rb
|
242
|
-
- test/integration/test_search.rb
|
243
|
-
- test/support/vm/openldap/.gitignore
|
244
|
-
- test/support/vm/openldap/README.md
|
245
|
-
- test/support/vm/openldap/Vagrantfile
|
246
|
-
- test/test_auth_adapter.rb
|
247
|
-
- test/test_dn.rb
|
248
|
-
- test/test_entry.rb
|
249
|
-
- test/test_filter.rb
|
250
|
-
- test/test_filter_parser.rb
|
251
|
-
- test/test_helper.rb
|
252
|
-
- test/test_ldap.rb
|
253
|
-
- test/test_ldap_connection.rb
|
254
|
-
- test/test_ldif.rb
|
255
|
-
- test/test_password.rb
|
256
|
-
- test/test_rename.rb
|
257
|
-
- test/test_search.rb
|
258
|
-
- test/test_snmp.rb
|
259
|
-
- test/test_ssl_ber.rb
|
260
|
-
- test/testdata.ldif
|
261
|
-
- testserver/ldapserver.rb
|
262
|
-
- testserver/testdata.ldif
|
172
|
+
test_files: []
|
data/.gitignore
DELETED
data/.rubocop.yml
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
inherit_from: .rubocop_todo.yml
|
2
|
-
|
3
|
-
AllCops:
|
4
|
-
Exclude:
|
5
|
-
- 'pkg/**/*'
|
6
|
-
|
7
|
-
Style/ExtraSpacing:
|
8
|
-
Enabled: false
|
9
|
-
|
10
|
-
Lint/AssignmentInCondition:
|
11
|
-
Enabled: false
|
12
|
-
|
13
|
-
Style/ParallelAssignment:
|
14
|
-
Enabled: false
|
15
|
-
|
16
|
-
Style/TrailingCommaInLiteral:
|
17
|
-
EnforcedStyleForMultiline: comma
|
18
|
-
|
19
|
-
Style/TrailingCommaInArguments:
|
20
|
-
EnforcedStyleForMultiline: comma
|