net-ldap 0.16.3 → 0.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/History.rdoc +36 -0
  3. data/README.rdoc +9 -2
  4. data/lib/net/ldap.rb +25 -2
  5. data/lib/net/ldap/connection.rb +1 -1
  6. data/lib/net/ldap/dataset.rb +2 -2
  7. data/lib/net/ldap/entry.rb +13 -2
  8. data/lib/net/ldap/error.rb +1 -26
  9. data/lib/net/ldap/password.rb +4 -0
  10. data/lib/net/ldap/version.rb +1 -1
  11. metadata +12 -88
  12. data/.gitignore +0 -10
  13. data/.rubocop.yml +0 -20
  14. data/.rubocop_todo.yml +0 -723
  15. data/.travis.yml +0 -57
  16. data/CONTRIBUTING.md +0 -54
  17. data/Gemfile +0 -2
  18. data/Rakefile +0 -23
  19. data/net-ldap.gemspec +0 -37
  20. data/script/changelog +0 -47
  21. data/script/ldap-docker +0 -12
  22. data/script/package +0 -7
  23. data/script/release +0 -16
  24. data/test/ber/core_ext/test_array.rb +0 -22
  25. data/test/ber/core_ext/test_string.rb +0 -25
  26. data/test/ber/test_ber.rb +0 -153
  27. data/test/fixtures/ca/docker-ca.pem +0 -18
  28. data/test/fixtures/ldif/06-retcode.ldif +0 -75
  29. data/test/fixtures/ldif/50-seed.ldif +0 -374
  30. data/test/integration/test_add.rb +0 -26
  31. data/test/integration/test_ber.rb +0 -30
  32. data/test/integration/test_bind.rb +0 -221
  33. data/test/integration/test_delete.rb +0 -29
  34. data/test/integration/test_open.rb +0 -87
  35. data/test/integration/test_password_modify.rb +0 -93
  36. data/test/integration/test_return_codes.rb +0 -46
  37. data/test/integration/test_search.rb +0 -77
  38. data/test/support/vm/openldap/.gitignore +0 -1
  39. data/test/test_auth_adapter.rb +0 -15
  40. data/test/test_dn.rb +0 -43
  41. data/test/test_entry.rb +0 -66
  42. data/test/test_filter.rb +0 -223
  43. data/test/test_filter_parser.rb +0 -29
  44. data/test/test_helper.rb +0 -73
  45. data/test/test_ldap.rb +0 -114
  46. data/test/test_ldap_connection.rb +0 -505
  47. data/test/test_ldif.rb +0 -104
  48. data/test/test_password.rb +0 -10
  49. data/test/test_rename.rb +0 -77
  50. data/test/test_search.rb +0 -39
  51. data/test/test_snmp.rb +0 -118
  52. data/test/test_ssl_ber.rb +0 -44
  53. data/test/testdata.ldif +0 -101
  54. data/testserver/ldapserver.rb +0 -200
  55. data/testserver/testdata.ldif +0 -101
@@ -1,18 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIC0zCCAlmgAwIBAgIUCfQ+m0pgZ/BjYAJvxrn/bdGNZokwCgYIKoZIzj0EAwMw
3
- gZYxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxBMUEgQ2FyIFdhc2gxJDAiBgNVBAsT
4
- G0luZm9ybWF0aW9uIFRlY2hub2xvZ3kgRGVwLjEUMBIGA1UEBxMLQWxidXF1ZXJx
5
- dWUxEzARBgNVBAgTCk5ldyBNZXhpY28xHzAdBgNVBAMTFmRvY2tlci1saWdodC1i
6
- YXNlaW1hZ2UwHhcNMTUxMjIzMTM1MzAwWhcNMjAxMjIxMTM1MzAwWjCBljELMAkG
7
- A1UEBhMCVVMxFTATBgNVBAoTDEExQSBDYXIgV2FzaDEkMCIGA1UECxMbSW5mb3Jt
8
- YXRpb24gVGVjaG5vbG9neSBEZXAuMRQwEgYDVQQHEwtBbGJ1cXVlcnF1ZTETMBEG
9
- A1UECBMKTmV3IE1leGljbzEfMB0GA1UEAxMWZG9ja2VyLWxpZ2h0LWJhc2VpbWFn
10
- ZTB2MBAGByqGSM49AgEGBSuBBAAiA2IABMZf/12pupAgl8Sm+j8GmjNeNbSFAZWW
11
- oTmIvf2Mu4LWPHy4bTldkQgHUbBpT3xWz8f0lB/ru7596CHsGoL2A28hxuclq5hb
12
- Ux1yrIt3bJIY3TuiX25HGTe6kGCJPB1aLaNmMGQwDgYDVR0PAQH/BAQDAgEGMBIG
13
- A1UdEwEB/wQIMAYBAf8CAQIwHQYDVR0OBBYEFE+l6XolXDAYnGLTl4W6ULKHrm74
14
- MB8GA1UdIwQYMBaAFE+l6XolXDAYnGLTl4W6ULKHrm74MAoGCCqGSM49BAMDA2gA
15
- MGUCMQCXLZj8okyxW6UTL7hribUUbu63PbjuwIXnwi420DdNsvA9A7fcQEXScWFL
16
- XAGC8rkCMGcqwXZPSRfwuI9r+R11gTrP92hnaVxs9sjRikctpkQpOyNlIXFPopFK
17
- 8FdfWPypvA==
18
- -----END CERTIFICATE-----
@@ -1,75 +0,0 @@
1
- dn: cn=module{0},cn=config
2
- changetype: modify
3
- add: olcModuleLoad
4
- olcModuleLoad: retcode
5
-
6
- # source: http://www.opensource.apple.com/source/OpenLDAP/OpenLDAP-186/OpenLDAP/tests/data/retcode.conf?txt
7
-
8
- dn: olcOverlay={2}retcode,olcDatabase={1}{{ LDAP_BACKEND }},cn=config
9
- changetype: add
10
- objectClass: olcConfig
11
- objectClass: olcRetcodeConfig
12
- objectClass: olcOverlayConfig
13
- objectClass: top
14
- olcOverlay: retcode
15
- olcRetcodeParent: ou=Retcodes,dc=example,dc=org
16
- olcRetcodeInDir: TRUE
17
- olcRetcodeSleep: 0
18
- olcRetcodeItem: "cn=success" 0x00
19
- olcRetcodeItem: "cn=success w/ delay" 0x00 sleeptime=2
20
- olcRetcodeItem: "cn=operationsError" 0x01
21
- olcRetcodeItem: "cn=protocolError" 0x02
22
- olcRetcodeItem: "cn=timeLimitExceeded" 0x03 op=search
23
- olcRetcodeItem: "cn=sizeLimitExceeded" 0x04 op=search
24
- olcRetcodeItem: "cn=compareFalse" 0x05 op=compare
25
- olcRetcodeItem: "cn=compareTrue" 0x06 op=compare
26
- olcRetcodeItem: "cn=authMethodNotSupported" 0x07
27
- olcRetcodeItem: "cn=strongAuthNotSupported" 0x07 text="same as authMethodNotSupported"
28
- olcRetcodeItem: "cn=strongAuthRequired" 0x08
29
- olcRetcodeItem: "cn=strongerAuthRequired" 0x08 text="same as strongAuthRequired"
30
- olcRetcodeItem: "cn=referral" 0x0a text="LDAPv3" ref="ldap://:9019"
31
- olcRetcodeItem: "cn=adminLimitExceeded" 0x0b text="LDAPv3"
32
- olcRetcodeItem: "cn=unavailableCriticalExtension" 0x0c text="LDAPv3"
33
- olcRetcodeItem: "cn=confidentialityRequired" 0x0d text="LDAPv3"
34
- olcRetcodeItem: "cn=saslBindInProgress" 0x0e text="LDAPv3"
35
- olcRetcodeItem: "cn=noSuchAttribute" 0x10
36
- olcRetcodeItem: "cn=undefinedAttributeType" 0x11
37
- olcRetcodeItem: "cn=inappropriateMatching" 0x12
38
- olcRetcodeItem: "cn=constraintViolation" 0x13
39
- olcRetcodeItem: "cn=attributeOrValueExists" 0x14
40
- olcRetcodeItem: "cn=invalidAttributeSyntax" 0x15
41
- olcRetcodeItem: "cn=noSuchObject" 0x20
42
- olcRetcodeItem: "cn=aliasProblem" 0x21
43
- olcRetcodeItem: "cn=invalidDNSyntax" 0x22
44
- olcRetcodeItem: "cn=aliasDereferencingProblem" 0x24
45
- olcRetcodeItem: "cn=proxyAuthzFailure" 0x2F text="LDAPv3 proxy authorization"
46
- olcRetcodeItem: "cn=inappropriateAuthentication" 0x30
47
- olcRetcodeItem: "cn=invalidCredentials" 0x31
48
- olcRetcodeItem: "cn=insufficientAccessRights" 0x32
49
- olcRetcodeItem: "cn=busy" 0x33
50
- olcRetcodeItem: "cn=unavailable" 0x34
51
- olcRetcodeItem: "cn=unwillingToPerform" 0x35
52
- olcRetcodeItem: "cn=loopDetect" 0x36
53
- olcRetcodeItem: "cn=namingViolation" 0x40
54
- olcRetcodeItem: "cn=objectClassViolation" 0x41
55
- olcRetcodeItem: "cn=notAllowedOnNonleaf" 0x42
56
- olcRetcodeItem: "cn=notAllowedOnRDN" 0x43
57
- olcRetcodeItem: "cn=entryAlreadyExists" 0x44
58
- olcRetcodeItem: "cn=objectClassModsProhibited" 0x45
59
- olcRetcodeItem: "cn=resultsTooLarge" 0x46 text="CLDAP"
60
- olcRetcodeItem: "cn=affectsMultipleDSAs" 0x47 text="LDAPv3"
61
- olcRetcodeItem: "cn=other" 0x50
62
- olcRetcodeItem: "cn=cupResourcesExhausted" 0x71
63
- olcRetcodeItem: "cn=cupSecurityViolation" 0x72
64
- olcRetcodeItem: "cn=cupInvalidData" 0x73
65
- olcRetcodeItem: "cn=cupUnsupportedScheme" 0x74
66
- olcRetcodeItem: "cn=cupReloadRequired" 0x75
67
- olcRetcodeItem: "cn=cancelled" 0x76
68
- olcRetcodeItem: "cn=noSuchOperation" 0x77
69
- olcRetcodeItem: "cn=tooLate" 0x78
70
- olcRetcodeItem: "cn=cannotCancel" 0x79
71
- olcRetcodeItem: "cn=syncRefreshRequired" 0x4100
72
- olcRetcodeItem: "cn=noOperation" 0x410e
73
- olcRetcodeItem: "cn=assertionFailed" 0x410f
74
- olcRetcodeItem: "cn=noReferralsFound" 0x4110
75
- olcRetcodeItem: "cn=cannotChain" 0x4111
@@ -1,374 +0,0 @@
1
- dn: ou=People,dc=example,dc=org
2
- objectClass: top
3
- objectClass: organizationalUnit
4
- ou: People
5
-
6
- dn: ou=Groups,dc=example,dc=org
7
- objectClass: top
8
- objectClass: organizationalUnit
9
- ou: Groups
10
-
11
- # Directory Superuser
12
- dn: uid=admin,dc=example,dc=org
13
- uid: admin
14
- cn: system administrator
15
- sn: administrator
16
- objectClass: top
17
- objectClass: person
18
- objectClass: organizationalPerson
19
- objectClass: inetOrgPerson
20
- displayName: Directory Superuser
21
- userPassword: passworD1
22
-
23
- # Users 1-10
24
-
25
- dn: uid=user1,ou=People,dc=example,dc=org
26
- uid: user1
27
- cn: user1
28
- sn: user1
29
- objectClass: top
30
- objectClass: person
31
- objectClass: organizationalPerson
32
- objectClass: inetOrgPerson
33
- userPassword: passworD1
34
- mail: user1@rubyldap.com
35
-
36
- dn: uid=user2,ou=People,dc=example,dc=org
37
- uid: user2
38
- cn: user2
39
- sn: user2
40
- objectClass: top
41
- objectClass: person
42
- objectClass: organizationalPerson
43
- objectClass: inetOrgPerson
44
- userPassword: passworD1
45
- mail: user2@rubyldap.com
46
-
47
- dn: uid=user3,ou=People,dc=example,dc=org
48
- uid: user3
49
- cn: user3
50
- sn: user3
51
- objectClass: top
52
- objectClass: person
53
- objectClass: organizationalPerson
54
- objectClass: inetOrgPerson
55
- userPassword: passworD1
56
- mail: user3@rubyldap.com
57
-
58
- dn: uid=user4,ou=People,dc=example,dc=org
59
- uid: user4
60
- cn: user4
61
- sn: user4
62
- objectClass: top
63
- objectClass: person
64
- objectClass: organizationalPerson
65
- objectClass: inetOrgPerson
66
- userPassword: passworD1
67
- mail: user4@rubyldap.com
68
-
69
- dn: uid=user5,ou=People,dc=example,dc=org
70
- uid: user5
71
- cn: user5
72
- sn: user5
73
- objectClass: top
74
- objectClass: person
75
- objectClass: organizationalPerson
76
- objectClass: inetOrgPerson
77
- userPassword: passworD1
78
- mail: user5@rubyldap.com
79
-
80
- dn: uid=user6,ou=People,dc=example,dc=org
81
- uid: user6
82
- cn: user6
83
- sn: user6
84
- objectClass: top
85
- objectClass: person
86
- objectClass: organizationalPerson
87
- objectClass: inetOrgPerson
88
- userPassword: passworD1
89
- mail: user6@rubyldap.com
90
-
91
- dn: uid=user7,ou=People,dc=example,dc=org
92
- uid: user7
93
- cn: user7
94
- sn: user7
95
- objectClass: top
96
- objectClass: person
97
- objectClass: organizationalPerson
98
- objectClass: inetOrgPerson
99
- userPassword: passworD1
100
- mail: user7@rubyldap.com
101
-
102
- dn: uid=user8,ou=People,dc=example,dc=org
103
- uid: user8
104
- cn: user8
105
- sn: user8
106
- objectClass: top
107
- objectClass: person
108
- objectClass: organizationalPerson
109
- objectClass: inetOrgPerson
110
- userPassword: passworD1
111
- mail: user8@rubyldap.com
112
-
113
- dn: uid=user9,ou=People,dc=example,dc=org
114
- uid: user9
115
- cn: user9
116
- sn: user9
117
- objectClass: top
118
- objectClass: person
119
- objectClass: organizationalPerson
120
- objectClass: inetOrgPerson
121
- userPassword: passworD1
122
- mail: user9@rubyldap.com
123
-
124
- dn: uid=user10,ou=People,dc=example,dc=org
125
- uid: user10
126
- cn: user10
127
- sn: user10
128
- objectClass: top
129
- objectClass: person
130
- objectClass: organizationalPerson
131
- objectClass: inetOrgPerson
132
- userPassword: passworD1
133
- mail: user10@rubyldap.com
134
-
135
- # Emailless User
136
-
137
- dn: uid=emailless-user1,ou=People,dc=example,dc=org
138
- uid: emailless-user1
139
- cn: emailless-user1
140
- sn: emailless-user1
141
- objectClass: top
142
- objectClass: person
143
- objectClass: organizationalPerson
144
- objectClass: inetOrgPerson
145
- userPassword: passworD1
146
-
147
- # Groupless User
148
-
149
- dn: uid=groupless-user1,ou=People,dc=example,dc=org
150
- uid: groupless-user1
151
- cn: groupless-user1
152
- sn: groupless-user1
153
- objectClass: top
154
- objectClass: person
155
- objectClass: organizationalPerson
156
- objectClass: inetOrgPerson
157
- userPassword: passworD1
158
-
159
- # Admin User
160
-
161
- dn: uid=admin1,ou=People,dc=example,dc=org
162
- uid: admin1
163
- cn: admin1
164
- sn: admin1
165
- objectClass: top
166
- objectClass: person
167
- objectClass: organizationalPerson
168
- objectClass: inetOrgPerson
169
- userPassword: passworD1
170
- mail: admin1@rubyldap.com
171
-
172
- # Groups
173
-
174
- dn: cn=ghe-users,ou=Groups,dc=example,dc=org
175
- cn: ghe-users
176
- objectClass: groupOfNames
177
- member: uid=user1,ou=People,dc=example,dc=org
178
- member: uid=emailless-user1,ou=People,dc=example,dc=org
179
-
180
- dn: cn=all-users,ou=Groups,dc=example,dc=org
181
- cn: all-users
182
- objectClass: groupOfNames
183
- member: cn=ghe-users,ou=Groups,dc=example,dc=org
184
- member: uid=user1,ou=People,dc=example,dc=org
185
- member: uid=user2,ou=People,dc=example,dc=org
186
- member: uid=user3,ou=People,dc=example,dc=org
187
- member: uid=user4,ou=People,dc=example,dc=org
188
- member: uid=user5,ou=People,dc=example,dc=org
189
- member: uid=user6,ou=People,dc=example,dc=org
190
- member: uid=user7,ou=People,dc=example,dc=org
191
- member: uid=user8,ou=People,dc=example,dc=org
192
- member: uid=user9,ou=People,dc=example,dc=org
193
- member: uid=user10,ou=People,dc=example,dc=org
194
- member: uid=emailless-user1,ou=People,dc=example,dc=org
195
-
196
- dn: cn=ghe-admins,ou=Groups,dc=example,dc=org
197
- cn: ghe-admins
198
- objectClass: groupOfNames
199
- member: uid=admin1,ou=People,dc=example,dc=org
200
-
201
- dn: cn=all-admins,ou=Groups,dc=example,dc=org
202
- cn: all-admins
203
- objectClass: groupOfNames
204
- member: cn=ghe-admins,ou=Groups,dc=example,dc=org
205
- member: uid=admin1,ou=People,dc=example,dc=org
206
-
207
- dn: cn=n-member-group10,ou=Groups,dc=example,dc=org
208
- cn: n-member-group10
209
- objectClass: groupOfNames
210
- member: uid=user1,ou=People,dc=example,dc=org
211
- member: uid=user2,ou=People,dc=example,dc=org
212
- member: uid=user3,ou=People,dc=example,dc=org
213
- member: uid=user4,ou=People,dc=example,dc=org
214
- member: uid=user5,ou=People,dc=example,dc=org
215
- member: uid=user6,ou=People,dc=example,dc=org
216
- member: uid=user7,ou=People,dc=example,dc=org
217
- member: uid=user8,ou=People,dc=example,dc=org
218
- member: uid=user9,ou=People,dc=example,dc=org
219
- member: uid=user10,ou=People,dc=example,dc=org
220
-
221
- dn: cn=nested-group1,ou=Groups,dc=example,dc=org
222
- cn: nested-group1
223
- objectClass: groupOfNames
224
- member: uid=user1,ou=People,dc=example,dc=org
225
- member: uid=user2,ou=People,dc=example,dc=org
226
- member: uid=user3,ou=People,dc=example,dc=org
227
- member: uid=user4,ou=People,dc=example,dc=org
228
- member: uid=user5,ou=People,dc=example,dc=org
229
-
230
- dn: cn=nested-group2,ou=Groups,dc=example,dc=org
231
- cn: nested-group2
232
- objectClass: groupOfNames
233
- member: uid=user6,ou=People,dc=example,dc=org
234
- member: uid=user7,ou=People,dc=example,dc=org
235
- member: uid=user8,ou=People,dc=example,dc=org
236
- member: uid=user9,ou=People,dc=example,dc=org
237
- member: uid=user10,ou=People,dc=example,dc=org
238
-
239
- dn: cn=nested-groups,ou=Groups,dc=example,dc=org
240
- cn: nested-groups
241
- objectClass: groupOfNames
242
- member: cn=nested-group1,ou=Groups,dc=example,dc=org
243
- member: cn=nested-group2,ou=Groups,dc=example,dc=org
244
-
245
- dn: cn=n-member-nested-group1,ou=Groups,dc=example,dc=org
246
- cn: n-member-nested-group1
247
- objectClass: groupOfNames
248
- member: cn=nested-group1,ou=Groups,dc=example,dc=org
249
-
250
- dn: cn=deeply-nested-group0.0.0,ou=Groups,dc=example,dc=org
251
- cn: deeply-nested-group0.0.0
252
- objectClass: groupOfNames
253
- member: uid=user1,ou=People,dc=example,dc=org
254
- member: uid=user2,ou=People,dc=example,dc=org
255
- member: uid=user3,ou=People,dc=example,dc=org
256
- member: uid=user4,ou=People,dc=example,dc=org
257
- member: uid=user5,ou=People,dc=example,dc=org
258
-
259
- dn: cn=deeply-nested-group0.0.1,ou=Groups,dc=example,dc=org
260
- cn: deeply-nested-group0.0.1
261
- objectClass: groupOfNames
262
- member: uid=user6,ou=People,dc=example,dc=org
263
- member: uid=user7,ou=People,dc=example,dc=org
264
- member: uid=user8,ou=People,dc=example,dc=org
265
- member: uid=user9,ou=People,dc=example,dc=org
266
- member: uid=user10,ou=People,dc=example,dc=org
267
-
268
- dn: cn=deeply-nested-group0.0,ou=Groups,dc=example,dc=org
269
- cn: deeply-nested-group0.0
270
- objectClass: groupOfNames
271
- member: cn=deeply-nested-group0.0.0,ou=Groups,dc=example,dc=org
272
- member: cn=deeply-nested-group0.0.1,ou=Groups,dc=example,dc=org
273
-
274
- dn: cn=deeply-nested-group0,ou=Groups,dc=example,dc=org
275
- cn: deeply-nested-group0
276
- objectClass: groupOfNames
277
- member: cn=deeply-nested-group0.0,ou=Groups,dc=example,dc=org
278
-
279
- dn: cn=deeply-nested-groups,ou=Groups,dc=example,dc=org
280
- cn: deeply-nested-groups
281
- objectClass: groupOfNames
282
- member: cn=deeply-nested-group0,ou=Groups,dc=example,dc=org
283
-
284
- dn: cn=n-depth-nested-group1,ou=Groups,dc=example,dc=org
285
- cn: n-depth-nested-group1
286
- objectClass: groupOfNames
287
- member: cn=nested-group1,ou=Groups,dc=example,dc=org
288
-
289
- dn: cn=n-depth-nested-group2,ou=Groups,dc=example,dc=org
290
- cn: n-depth-nested-group2
291
- objectClass: groupOfNames
292
- member: cn=n-depth-nested-group1,ou=Groups,dc=example,dc=org
293
-
294
- dn: cn=n-depth-nested-group3,ou=Groups,dc=example,dc=org
295
- cn: n-depth-nested-group3
296
- objectClass: groupOfNames
297
- member: cn=n-depth-nested-group2,ou=Groups,dc=example,dc=org
298
-
299
- dn: cn=n-depth-nested-group4,ou=Groups,dc=example,dc=org
300
- cn: n-depth-nested-group4
301
- objectClass: groupOfNames
302
- member: cn=n-depth-nested-group3,ou=Groups,dc=example,dc=org
303
-
304
- dn: cn=n-depth-nested-group5,ou=Groups,dc=example,dc=org
305
- cn: n-depth-nested-group5
306
- objectClass: groupOfNames
307
- member: cn=n-depth-nested-group4,ou=Groups,dc=example,dc=org
308
-
309
- dn: cn=n-depth-nested-group6,ou=Groups,dc=example,dc=org
310
- cn: n-depth-nested-group6
311
- objectClass: groupOfNames
312
- member: cn=n-depth-nested-group5,ou=Groups,dc=example,dc=org
313
-
314
- dn: cn=n-depth-nested-group7,ou=Groups,dc=example,dc=org
315
- cn: n-depth-nested-group7
316
- objectClass: groupOfNames
317
- member: cn=n-depth-nested-group6,ou=Groups,dc=example,dc=org
318
-
319
- dn: cn=n-depth-nested-group8,ou=Groups,dc=example,dc=org
320
- cn: n-depth-nested-group8
321
- objectClass: groupOfNames
322
- member: cn=n-depth-nested-group7,ou=Groups,dc=example,dc=org
323
-
324
- dn: cn=n-depth-nested-group9,ou=Groups,dc=example,dc=org
325
- cn: n-depth-nested-group9
326
- objectClass: groupOfNames
327
- member: cn=n-depth-nested-group8,ou=Groups,dc=example,dc=org
328
-
329
- dn: cn=head-group,ou=Groups,dc=example,dc=org
330
- cn: head-group
331
- objectClass: groupOfNames
332
- member: cn=tail-group,ou=Groups,dc=example,dc=org
333
- member: uid=user1,ou=People,dc=example,dc=org
334
- member: uid=user2,ou=People,dc=example,dc=org
335
- member: uid=user3,ou=People,dc=example,dc=org
336
- member: uid=user4,ou=People,dc=example,dc=org
337
- member: uid=user5,ou=People,dc=example,dc=org
338
-
339
- dn: cn=tail-group,ou=Groups,dc=example,dc=org
340
- cn: tail-group
341
- objectClass: groupOfNames
342
- member: cn=head-group,ou=Groups,dc=example,dc=org
343
- member: uid=user6,ou=People,dc=example,dc=org
344
- member: uid=user7,ou=People,dc=example,dc=org
345
- member: uid=user8,ou=People,dc=example,dc=org
346
- member: uid=user9,ou=People,dc=example,dc=org
347
- member: uid=user10,ou=People,dc=example,dc=org
348
-
349
- dn: cn=recursively-nested-groups,ou=Groups,dc=example,dc=org
350
- cn: recursively-nested-groups
351
- objectClass: groupOfNames
352
- member: cn=head-group,ou=Groups,dc=example,dc=org
353
- member: cn=tail-group,ou=Groups,dc=example,dc=org
354
-
355
- # posixGroup
356
-
357
- dn: cn=posix-group1,ou=Groups,dc=example,dc=org
358
- cn: posix-group1
359
- objectClass: posixGroup
360
- gidNumber: 1001
361
- memberUid: user1
362
- memberUid: user2
363
- memberUid: user3
364
- memberUid: user4
365
- memberUid: user5
366
-
367
- # missing members
368
-
369
- dn: cn=missing-users,ou=Groups,dc=example,dc=org
370
- cn: missing-users
371
- objectClass: groupOfNames
372
- member: uid=user1,ou=People,dc=example,dc=org
373
- member: uid=user2,ou=People,dc=example,dc=org
374
- member: uid=nonexistent-user,ou=People,dc=example,dc=org