activeldap 4.0.5 → 6.1.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.
Files changed (57) hide show
  1. checksums.yaml +5 -5
  2. data/.yardopts +3 -1
  3. data/doc/text/development.md +26 -0
  4. data/doc/text/{news.textile → news.md} +451 -241
  5. data/doc/text/{rails.textile → rails.md} +44 -33
  6. data/doc/text/{tutorial.textile → tutorial.md} +177 -185
  7. data/lib/active_ldap/adapter/base.rb +40 -17
  8. data/lib/active_ldap/adapter/jndi.rb +21 -9
  9. data/lib/active_ldap/adapter/jndi_connection.rb +83 -20
  10. data/lib/active_ldap/adapter/ldap.rb +50 -28
  11. data/lib/active_ldap/adapter/ldap_ext.rb +32 -13
  12. data/lib/active_ldap/adapter/net_ldap.rb +26 -24
  13. data/lib/active_ldap/associations.rb +5 -5
  14. data/lib/active_ldap/attribute_methods/before_type_cast.rb +1 -1
  15. data/lib/active_ldap/attribute_methods/dirty.rb +4 -7
  16. data/lib/active_ldap/attribute_methods/query.rb +1 -1
  17. data/lib/active_ldap/attribute_methods/read.rb +5 -1
  18. data/lib/active_ldap/attribute_methods/write.rb +1 -1
  19. data/lib/active_ldap/attribute_methods.rb +1 -2
  20. data/lib/active_ldap/base.rb +61 -14
  21. data/lib/active_ldap/callbacks.rb +7 -8
  22. data/lib/active_ldap/configuration.rb +27 -3
  23. data/lib/active_ldap/connection.rb +4 -22
  24. data/lib/active_ldap/distinguished_name.rb +1 -1
  25. data/lib/active_ldap/human_readable.rb +5 -4
  26. data/lib/active_ldap/operations.rb +24 -4
  27. data/lib/active_ldap/persistence.rb +3 -2
  28. data/lib/active_ldap/populate.rb +5 -3
  29. data/lib/active_ldap/railties/controller_runtime.rb +1 -2
  30. data/lib/active_ldap/schema/syntaxes.rb +8 -4
  31. data/lib/active_ldap/validations.rb +12 -4
  32. data/lib/active_ldap/version.rb +1 -1
  33. data/lib/active_ldap.rb +0 -7
  34. data/po/en/active-ldap.po +2 -2
  35. data/po/ja/active-ldap.po +3 -3
  36. data/test/add-phonetic-attribute-options-to-slapd.ldif +3 -3
  37. data/test/al-test-utils.rb +125 -38
  38. data/test/command.rb +13 -16
  39. data/test/enable-dynamic-groups.ldif +22 -0
  40. data/test/enable-start-tls.ldif +27 -0
  41. data/test/run-test.rb +0 -4
  42. data/test/test_base.rb +223 -22
  43. data/test/test_base_per_instance.rb +33 -1
  44. data/test/test_callback.rb +10 -8
  45. data/test/test_connection.rb +4 -0
  46. data/test/test_connection_per_class.rb +34 -0
  47. data/test/test_dn.rb +7 -0
  48. data/test/test_entry.rb +1 -0
  49. data/test/test_find.rb +14 -3
  50. data/test/test_supported_control.rb +1 -1
  51. data/test/test_syntax.rb +5 -0
  52. data/test/test_validation.rb +28 -15
  53. metadata +23 -24
  54. data/README.textile +0 -141
  55. data/doc/text/development.textile +0 -54
  56. data/lib/active_ldap/timeout.rb +0 -75
  57. data/lib/active_ldap/timeout_stub.rb +0 -17
@@ -1,10 +1,220 @@
1
- h1. News
1
+ # News
2
2
 
3
- h2(#release-4-0-5). 4.0.5: 2016-01-20
3
+ ## 6.1.0: 2020-12-24 {#release-6-1-0}
4
4
 
5
- h3. Improvements
5
+ ### Improvements
6
6
 
7
- * Supported @unicodePwd@ in Active Directory
7
+ * Changed to use `:use_paged_results` option value by default.
8
+ [GitHub#189][Reported by Kevin McCormack]
9
+
10
+ ### Thanks
11
+
12
+ * Kevin McCormack
13
+
14
+ ## 6.0.4: 2020-12-06 {#release-6-0-4}
15
+
16
+ ### Improvements
17
+
18
+ * Enabled concurrency by default.
19
+ [GitHub#188][Reported by Kevin McCormack]
20
+
21
+ ### Thanks
22
+
23
+ * Kevin McCormack
24
+
25
+ ## 6.0.3: 2020-08-17 {#release-6-0-3}
26
+
27
+ ### Improvements
28
+
29
+ * Added support for `save(validate: false)`.
30
+ [GitHub#180][Reported by Kevin McCormack]
31
+
32
+ * jndi: Added support for follow referrals.
33
+ [GitHub#182][Patch by Kevin McCormack]
34
+
35
+ ### Fixes
36
+
37
+ * Fixed a bug that sub base is ignored in DN specified by `new`.
38
+ [GitHub#185][Reported by Kevin McCormack]
39
+
40
+ ### Thanks
41
+
42
+ * Kevin McCormack
43
+
44
+ ## 6.0.2: 2020-05-19 {#release-6-0-2}
45
+
46
+ ### Improvements
47
+
48
+ * Added `options` to {ActiveLdap::Persistance#reload}.
49
+ [GitHub#176][Reported by Kevin McCormack]
50
+
51
+ * jndi: Improved DN escaping.
52
+ [GitHub#178][Patch by Kevin McCormack]
53
+
54
+ ### Thanks
55
+
56
+ * Kevin McCormack
57
+
58
+ ## 6.0.1: 2020-04-21 {#release-6-0-1}
59
+
60
+ ### Improvements
61
+
62
+ * Dropped support for Ruby 2.4.
63
+
64
+ * Stopped using paged results when we need only one entry.
65
+ [GitHub#173][Patch by Kevin McCormack]
66
+
67
+ ### Thanks
68
+
69
+ * Kevin McCormack
70
+
71
+ ## 6.0.0: 2020-04-16 {#release-6-0-0}
72
+
73
+ ### Improvements
74
+
75
+ * Removed needless `rubyforge_project` from `.gemspec`.
76
+ [GitHub#167][Patch by Olle Jonsson]
77
+
78
+ * Added support for reusing parent configuration for omitted
79
+ configuration items when creating a connection per class or DN.
80
+
81
+ * jndi: Added support for processing DN that includes backslash.
82
+
83
+ * jndi: Added a CI job for JRuby 9.
84
+ [GitHub#170][Patch by Kevin McCormack]
85
+
86
+ * jndi: Added support for paged search.
87
+ [GitHub#171][Patch by Kevin McCormack]
88
+
89
+ * Added support for Active Model 6.
90
+
91
+ * `search`: Added `:used_paged_results` and `:page_size` options.
92
+
93
+ ### Thanks
94
+
95
+ * Olle Jonsson
96
+
97
+ * Kevin McCormack
98
+
99
+ ## 5.2.3: 2019-02-15 {#release-5-2-3}
100
+
101
+ ### Improvements
102
+
103
+ * Changed to use add and delete for modify if it's needed.
104
+ [GitHub#156][Patch by David Klotz]
105
+
106
+ * Added support for timezone with munites offset such as `0530`.
107
+ [GitHub#160][GitHub#161][Patch by Neng Xu]
108
+
109
+ * Added support for Ruby 2.6.
110
+
111
+ ### Thanks
112
+
113
+ * David Klotz
114
+
115
+ * Neng Xu
116
+
117
+ ## 5.2.2: 2018-07-12 {#release-5-2-2}
118
+
119
+ ### Improvements
120
+
121
+ * Added `:tls_options` option.
122
+ [GitHub#156][Patch by David Klotz]
123
+
124
+ ### Thanks
125
+
126
+ * David Klotz
127
+
128
+ ## 5.2.1: 2018-06-13 {#release-5-2-1}
129
+
130
+ ### Fixes
131
+
132
+ * Fixed a bug that configuration may be removed unexpectedly.
133
+ [GitHub#155][Reported by Juha Erkkilä]
134
+
135
+ ### Thanks
136
+
137
+ * Juha Erkkilä
138
+
139
+ ## 5.2.0: 2018-05-09 {#release-5-2-0}
140
+
141
+ ### Improvements
142
+
143
+ * Added `:dc_base_class` and `:ou_base_class` options to
144
+ `ActiveLdap::Populate.ensure_base`.
145
+ [GitHub#153][Patch by hide_24]
146
+
147
+ * Added Active Model 5.2.0 support.
148
+
149
+ * Improved connection error handling for net-ldap.
150
+
151
+ ### Thanks
152
+
153
+ * hide_24
154
+
155
+ ## 5.1.1: 2018-01-17 {#release-5-1-1}
156
+
157
+ ### Improvements
158
+
159
+ * Added `:include_operational_attributes` convenient option to
160
+ `ActiveLdap::Base.find`. `ActiveLdap::Base.find(...,
161
+ :include_operational_attributes => true)` equals to
162
+ `ActiveLdap::Base.find(..., :attributes => ["*", "+"])`.
163
+ [GitHub#150][Reported by jas01]
164
+
165
+ ### Thanks
166
+
167
+ * jas01
168
+
169
+ ## 5.1.0: 2017-05-01 {#release-5-1-0}
170
+
171
+ ### Improvements
172
+
173
+ * Supported Rails 5.1.0.
174
+
175
+ * Supported sub class instantiate by objectClass.
176
+ [GitHub#134][Patch by Chris Garrigues]
177
+
178
+ * Improved error messages.
179
+
180
+ * Changed to the default LDAP client to net-ldap from ruby-ldap
181
+ because ruby-ldap doesn't support timeout.
182
+
183
+ * Suppressed warnings.
184
+ [GitHub#146][Reported by jas01]
185
+
186
+ ### Fixes
187
+
188
+ * Added missing dependency.
189
+ [GitHub#145][Reported by Tom Wardrop]
190
+
191
+ ### Thanks
192
+
193
+ * Chris Garrigues
194
+
195
+ * Tom Wardrop
196
+
197
+ * jas01
198
+
199
+ ## 4.0.6: 2016-04-07 {#release-4-0-6}
200
+
201
+ ### Improvements
202
+
203
+ * Updated supported Ruby versions.
204
+ [GitHub#127] [Patch by weicheng]
205
+ * Supported spaces in DN.
206
+ [GitHub#129] [Patch by belltailjp]
207
+
208
+ ### Thanks
209
+
210
+ * weicheng
211
+ * belltailjp
212
+
213
+ ## 4.0.5: 2016-01-20 {#release-4-0-5}
214
+
215
+ ### Improvements
216
+
217
+ * Supported `unicodePwd` in Active Directory
8
218
  [GitHub#105] [Reported by Laas Toom]
9
219
  * Supported Blowfish, SHA-256 and SHA-512 password hash with salt.
10
220
  [GitHub#108] [Patch by Gary Richards]
@@ -13,32 +223,32 @@ h3. Improvements
13
223
  [GitHub#125] [Patch by Bohuslav Blín]
14
224
  * Supported Ruby 2.3.
15
225
 
16
- h3. Fixes
226
+ ### Fixes
17
227
 
18
- * Fixed documentation for @rails generate@.
228
+ * Fixed documentation for `rails generate`.
19
229
  [GitHub#107] [Patch by Gary Richards]
20
230
 
21
- h3. Thanks
231
+ ### Thanks
22
232
 
23
233
  * Laas Toom
24
234
  * Gary Richards
25
235
  * Jan Zikan
26
236
  * Bohuslav Blín
27
237
 
28
- h2(#release-4-0-4). 4.0.4: 2014-10-11
238
+ ## 4.0.4: 2014-10-11 {#release-4-0-4}
29
239
 
30
- h3. Improvements
240
+ ### Improvements
31
241
 
32
242
  * Migrated to commit mail mailing list to "Google
33
243
  Groups":https://groups.google.com/forum/?hl=ja#!forum/activeldap-commit
34
244
  from RubyForge. Thanks to RubyForge! RubyForge was very helpful!
35
245
  * Update project homepage URL in README.
36
246
  [GitHub#103] [Patch by Adam Whittingham]
37
- * Removed needless @Enumerable@ inclusion in @ActiveLdap::Base@.
247
+ * Removed needless `Enumerable` inclusion in `ActiveLdap::Base`.
38
248
  [GitHub#104] [Patch by Murray Steele]
39
249
  * {ActiveLdap::Populate.ensure_base}: Supported ou entry creation in base DN.
40
- * Added @follow_referrals@ configuration. You can disable auto
41
- referrals following by specifying @false@. It is useful when you
250
+ * Added `follow_referrals` configuration. You can disable auto
251
+ referrals following by specifying `false`. It is useful when you
42
252
  can't access referrals.
43
253
 
44
254
  This configuration is enabled by default.
@@ -47,10 +257,10 @@ h3. Improvements
47
257
 
48
258
  [GitHub#99] [Suggested by hadmut]
49
259
 
50
- * Supported @bindname@ extension in LDAP URL such as
51
- @ldap://host/dc=base,dc=name????bindname=cn%3Dadmin%2Cdc%3Dexample%2Cdc%3Dcom%3F@.
260
+ * Supported `bindname` extension in LDAP URL such as
261
+ `ldap://host/dc=base,dc=name????bindname=cn%3Dadmin%2Cdc%3Dexample%2Cdc%3Dcom%3F`.
52
262
 
53
- h3. Fixes
263
+ ### Fixes
54
264
 
55
265
  * Fixed a bug logging is failed on removing a connection.
56
266
  [GitHub#94] [Reported by Francisco Miguel Biete]
@@ -58,7 +268,7 @@ h3. Fixes
58
268
  [GitHub#95] [Patch by Vít Ondruch]
59
269
  * Fixed a bug that DN in LDAP URL is used as bind DN not base DN.
60
270
 
61
- h3. Thanks
271
+ ### Thanks
62
272
 
63
273
  * Francisco Miguel Biete
64
274
  * Vít Ondruch
@@ -66,11 +276,11 @@ h3. Thanks
66
276
  * Murray Steele
67
277
  * hadmut
68
278
 
69
- h2(#4-0-3). 4.0.3: 2014-05-15
279
+ ## 4.0.3: 2014-05-15 {#4-0-3}
70
280
 
71
- h3. Improvements
281
+ ### Improvements
72
282
 
73
- * Supported stopping colorize logging by @config.colorize_logging = false@.
283
+ * Supported stopping colorize logging by `config.colorize_logging = false`.
74
284
  [GitHub:#81] [Reported by nengxu]
75
285
  * Supported PagedResults defined in RFC 2696 in the net-ldap adapter.
76
286
  [activeldap-discuss] Paged results
@@ -83,18 +293,18 @@ h3. Improvements
83
293
  [GitHub#90] [Patch by Francisco Miguel Biete]
84
294
  * document: Removed obsoleted description.
85
295
  [activeldap-discuss] [Reported by Jarod Watkins]
86
- * Supported @ActiveLdap::Base.attribute_method?@ .
296
+ * Supported `ActiveLdap::Base.attribute_method?` .
87
297
  [GitHub#92] [Reported by Renaud Chaput]
88
298
 
89
- h3. Fixes
299
+ ### Fixes
90
300
 
91
- * Fixed a bug that @belongs_to :many@ 's inconsistent behavior.
301
+ * Fixed a bug that `belongs_to :many` 's inconsistent behavior.
92
302
  You get DN attribute when you add an entry by DN attribute to
93
303
  belongs_to :many collection. It should return entry object instead of
94
304
  DN attribute. Because loaded collection returns entry objects.
95
305
  [activeldap-discuss] [Reported by Jarod Watkins]
96
306
 
97
- h3. Thanks
307
+ ### Thanks
98
308
 
99
309
  * nengxu
100
310
  * Aaron Knister
@@ -103,9 +313,9 @@ h3. Thanks
103
313
  * Jarod Watkins
104
314
  * Renaud Chaput
105
315
 
106
- h2(#4-0-2). 4.0.2: 2014-01-04
316
+ ## 4.0.2: 2014-01-04 {#4-0-2}
107
317
 
108
- h3. Improvements
318
+ ### Improvements
109
319
 
110
320
  * Supported sub-tree moving by all adapters.
111
321
  * Used YARD style link in documentation. [Reported by Fraser McCrossan]
@@ -114,7 +324,7 @@ h3. Improvements
114
324
  * Made JEPG syntax binary.
115
325
  * Supported binary encoding for values in a container.
116
326
  [GitHub:#66] [Reported by Nowhere Man]
117
- * Added documentation about @:filter@ option of {ActiveLdap::Base.find}
327
+ * Added documentation about `:filter` option of {ActiveLdap::Base.find}
118
328
  into tutorial.
119
329
  [GitHub:#72] [Patch by Fernando Martinez]
120
330
  * Migrated to gettext gem from gettext_i18n_rails gem because ActiveLdap
@@ -123,14 +333,14 @@ h3. Improvements
123
333
  * Supported retry on timeout on JNDI adapter.
124
334
  [GitHub:#77] [Patch by Ryosuke Yamazaki]
125
335
 
126
- h3. Fixes
336
+ ### Fixes
127
337
 
128
- * Removed needless newlines generated by @pack("m")@.
338
+ * Removed needless newlines generated by `pack("m")`.
129
339
  [GitHub:#75] [GitHub:#76] [Patch by Ryosuke Yamazaki]
130
- * Fixed a bug that @after_initialize@ isn't run.
340
+ * Fixed a bug that `after_initialize` isn't run.
131
341
  [GitHub:#79] [Patch by Nobutaka OSHIRO]
132
342
 
133
- h3. Thanks
343
+ ### Thanks
134
344
 
135
345
  * Fraser McCrossan
136
346
  * Nowhere Man
@@ -139,9 +349,9 @@ h3. Thanks
139
349
  * Ryosuke Yamazaki
140
350
  * Nobutaka OSHIRO
141
351
 
142
- h2(#4-0-1). 4.0.1: 2013-08-29
352
+ ## 4.0.1: 2013-08-29 {#4-0-1}
143
353
 
144
- h3. Improvements
354
+ ### Improvements
145
355
 
146
356
  * Added ActiveLdap::EntryAttribute#exist?.
147
357
  * [GitHub:#66] Improved Active Directory support.
@@ -152,12 +362,12 @@ h3. Improvements
152
362
  JRuby or net-ldap 0.5.0 or later. (net-ldap 0.5.0 isn't released yet.)
153
363
  [Reported by Jean-François Rioux]
154
364
 
155
- h3. Fixes
365
+ ### Fixes
156
366
 
157
367
  * [GitHub:#65] Removed removed attributes values by removing
158
368
  objectClasses. [Reported by mbab]
159
369
 
160
- h3. Thanks
370
+ ### Thanks
161
371
 
162
372
  * mbab
163
373
  * Nowhere Man
@@ -165,9 +375,9 @@ h3. Thanks
165
375
  * Francisco Miguel Biete
166
376
  * Jean-François Rioux
167
377
 
168
- h2(#4-0-0). 4.0.0: 2013-07-13
378
+ ## 4.0.0: 2013-07-13 {#4-0-0}
169
379
 
170
- h3. Improvements
380
+ ### Improvements
171
381
 
172
382
  * [activeldap-discuss] Added {ActiveLdap::Entry} for convenient.
173
383
  [Suggested by Craig White]
@@ -180,7 +390,7 @@ h3. Improvements
180
390
  * [GitHub:#53] Supported lower case hashed password.
181
391
  [Patch by jpiotro3]
182
392
  * [GitHub:#51] Supported implicit railtie load by
183
- @require "active_ldap"@.
393
+ `require "active_ldap"`.
184
394
  [Patch by mperrando]
185
395
  * [GitHub:#62] Improved JNDI communication error handling.
186
396
  [Patch by Ryosuke Yamazaki]
@@ -189,7 +399,7 @@ h3. Improvements
189
399
  * [GitHub:#63] Handled Errno::ECONNRESET as connection in
190
400
  net-ldap adapter [Patch by mpoornima]
191
401
 
192
- h3. Fixes
402
+ ### Fixes
193
403
 
194
404
  * [GitHub:#44] Fixed a typo in document.
195
405
  [Patch by Vaucher Philippe]
@@ -201,7 +411,7 @@ h3. Fixes
201
411
  * [GitHub:#57] Fixed a wrong blank value detection for "false".
202
412
  [Reported by Robin Doer]
203
413
 
204
- h3. Thanks
414
+ ### Thanks
205
415
 
206
416
  * Craig White
207
417
  * Vaucher Philippe
@@ -216,31 +426,31 @@ h3. Thanks
216
426
  * superscott
217
427
  * mpoornima
218
428
 
219
- h2(#3-2-2). 3.2.2: 2012-09-01
429
+ ## 3.2.2: 2012-09-01 {#3-2-2}
220
430
 
221
431
  * Supported entry creation by direct ActiveLdap::Base use.
222
432
  [Reported by Craig White]
223
433
  * Started to use Travis CI.
224
434
 
225
- h3. Thanks
435
+ ### Thanks
226
436
 
227
437
  * Craig White
228
438
 
229
- h2(#3-2-1). 3.2.1: 2012-08-31
439
+ ## 3.2.1: 2012-08-31 {#3-2-1}
230
440
 
231
441
  * Fixed a bug that ActiveLdap::Base#delete doesn't work.
232
442
  [Reported by Craig White]
233
443
 
234
- h3. Thanks
444
+ ### Thanks
235
445
 
236
446
  * Craig White
237
447
 
238
- h2(#3-2-0). 3.2.0: 2012-08-29
448
+ ## 3.2.0: 2012-08-29 {#3-2-0}
239
449
 
240
450
  * [GitHub:#39] Supported Rails 3.2.8. [Reported by Ben Langfeld]
241
451
  * [GitHub:#13] Don't use deprecated Gem.available?. [Patch by sailesh]
242
- * [GitHub:#19] Supported new entry by @ha_many :wrap@. [Patch by Alex Tomlins]
243
- * Supported @:only@ option in XML output.
452
+ * [GitHub:#19] Supported new entry by `ha_many :wrap`. [Patch by Alex Tomlins]
453
+ * Supported `:only` option in XML output.
244
454
  * [GitHub:#14] Supported nil as single value. [Reported by n3llyb0y]
245
455
  * [GitHub:#20] Supported ActiveModel::MassAssignmentSecurity.
246
456
  [Reported by mihu]
@@ -259,7 +469,7 @@ h2(#3-2-0). 3.2.0: 2012-08-29
259
469
  * [GitHub:#42] Fixed a bug that optional second is required for GeneralizedTime.
260
470
  [Reported by masche842]
261
471
 
262
- h3. Thanks
472
+ ### Thanks
263
473
 
264
474
  * sailesh
265
475
  * Alex Tomlins
@@ -273,7 +483,7 @@ h3. Thanks
273
483
  * unixmechanic
274
484
  * masche842
275
485
 
276
- h2(#3-1-1). 3.1.1: 2011-11-03
486
+ ## 3.1.1: 2011-11-03 {#3-1-1}
277
487
 
278
488
  * Supported Rails 3.1.1.
279
489
  * [GitHub:#9] Fixed a typo in document. [warden]
@@ -281,26 +491,26 @@ h2(#3-1-1). 3.1.1: 2011-11-03
281
491
  * [GitHub:#16] Supported 4 or more bytes salt for SSHA and SMD5.
282
492
  [Alex Tomlins]
283
493
 
284
- h3. Thanks
494
+ ### Thanks
285
495
 
286
496
  * warden
287
497
  * bklier
288
498
  * Alex Tomlins
289
499
 
290
- h2(#3-1-0). 3.1.0: 2011-07-09
500
+ ## 3.1.0: 2011-07-09 {#3-1-0}
291
501
 
292
502
  * Supported Rails 3.1.0.rc4.
293
503
  [Ryan Tandy, Narihiro Nakamura, Hidetoshi Yoshimoto]
294
504
  * Removed ActiveRecord dependency and added ActiveModel dependency.
295
505
  * Used YARD instead of RDoc as documentation sysytem.
296
506
 
297
- h2. 1.2.4: 2011-05-13
507
+ ## 1.2.4: 2011-05-13
298
508
 
299
509
  * Splited AL-Admin into other repository: https://github.com/activeldap/al-admin
300
510
  * [GitHub:#2] Fixed "path po cound not be found" error by fast_gettext.
301
511
  [rbq]
302
512
 
303
- h2. 1.2.3: 2011-04-30
513
+ ## 1.2.3: 2011-04-30
304
514
 
305
515
  * [#40] Ignored nil value attribute.
306
516
  [christian.pennafort]
@@ -315,7 +525,7 @@ h2. 1.2.3: 2011-04-30
315
525
  * Fixed wrong assertion in test.
316
526
  [Ryan Tandy]
317
527
 
318
- h3. Thanks
528
+ ### Thanks
319
529
 
320
530
  * christian.pennafort
321
531
  * planetmcd
@@ -324,7 +534,7 @@ h3. Thanks
324
534
  * Kris Wehner
325
535
  * Ryan Tandy
326
536
 
327
- h2. 1.2.2: 2010-07-04
537
+ ## 1.2.2: 2010-07-04
328
538
 
329
539
  * Supported ActiveRecord 2.3.8 and Rails 2.3.8.
330
540
  * [#37] Fixed gem dependencies in Rakefile. [zachwily]
@@ -341,7 +551,7 @@ h2. 1.2.2: 2010-07-04
341
551
  * Supported DN attribute value for assosiation replacement.
342
552
  [Jörg Herzinger]
343
553
 
344
- h2. 1.2.1: 2009-12-15
554
+ ## 1.2.1: 2009-12-15
345
555
 
346
556
  * Supported ActiveRecord 2.3.5 and Rails 2.3.5.
347
557
  * Supported GetText 2.1.0 and Locale 2.0.5.
@@ -352,7 +562,7 @@ h2. 1.2.1: 2009-12-15
352
562
  * [#35] fix has_many association is broken. [culturespy]
353
563
  * Supported nested attribute options. [Hideyuki Yasuda]
354
564
 
355
- h2. 1.2.0: 2009-09-22
565
+ ## 1.2.0: 2009-09-22
356
566
 
357
567
  * Supported ActiveRecord 2.3.4 and Rails 2.3.4.
358
568
  * [IMCOMPATIBLE]
@@ -367,60 +577,60 @@ h2. 1.2.0: 2009-09-22
367
577
  * Supported renaming an entry. Renaming other DTI is only supported by
368
578
  JNDI backend.
369
579
 
370
- h2. 1.1.0: 2009-07-18
580
+ ## 1.1.0: 2009-07-18
371
581
 
372
582
  * Improved tutorial. [Kazuaki Takase]
373
583
  * Improvements:
374
- ** API:
375
- *** [#26] Supported to_xml for associations. [achemze]
376
- *** ActiveLdap::Base.delete_all(filter=nil, options={}) ->
584
+ * API:
585
+ * [#26] Supported to_xml for associations. [achemze]
586
+ * ActiveLdap::Base.delete_all(filter=nil, options={}) ->
377
587
  ActiveLdap::Base.delete_all(filter_or_options={}).
378
588
  Sure, old method signature is also still supported.
379
- *** belongs_to(:many) with :foreign_key is deprecated.
589
+ * belongs_to(:many) with :foreign_key is deprecated.
380
590
  Use :primary_key instead of :foreign_key. [Kazuaki Takase]
381
- *** Means of has_many's :primary_key and :foreign_key are inverted.
591
+ * Means of has_many's :primary_key and :foreign_key are inverted.
382
592
  [Kazuaki Takase]
383
- *** [experimental] Added ldap_field ActionView helper to
593
+ * [experimental] Added ldap_field ActionView helper to
384
594
  generate form fileds for a LDAP entry.
385
- ** Suppressed needless attributes updating.
595
+ * Suppressed needless attributes updating.
386
596
  * Dependencies:
387
- ** Re-supported GetText.
388
- ** ActiveRecord 2.3.2 is only supported.
597
+ * Re-supported GetText.
598
+ * ActiveRecord 2.3.2 is only supported.
389
599
 
390
- h2. 1.0.9
600
+ ## 1.0.9
391
601
 
392
602
  * Added documents in Japanese. [Kazuaki Takase]
393
603
  * Supported Ruby 1.9.1.
394
- ** [#20] [Ruby 1.9 Support] :: Running Tests [Alexey.Chebotar]
604
+ * [#20] [Ruby 1.9 Support] :: Running Tests [Alexey.Chebotar]
395
605
  * Supported Rails 2.3.2.
396
- ** [#18] [Rails 2.3 Support] :: Running WEBrick Hangs [Alexey.Chebotar]
606
+ * [#18] [Rails 2.3 Support] :: Running WEBrick Hangs [Alexey.Chebotar]
397
607
  * Bug fixes:
398
- ** Fixed blank values detection. [David Morton]
399
- ** [#22] Ruby 1.8.6 p287 :: Undefined methods [Alexey.Chebotar]
400
- ** Fixed gem loading. [Tiago Fernandes]
401
- ** Fixed DN change via #base=. [David Morton]
402
- ** Fixed infinite retry on timeout.
403
- ** Fixed needless reconnection.
608
+ * Fixed blank values detection. [David Morton]
609
+ * [#22] Ruby 1.8.6 p287 :: Undefined methods [Alexey.Chebotar]
610
+ * Fixed gem loading. [Tiago Fernandes]
611
+ * Fixed DN change via #base=. [David Morton]
612
+ * Fixed infinite retry on timeout.
613
+ * Fixed needless reconnection.
404
614
  * API improvements:
405
- ** Removed needless instance methods: #prefix=,
615
+ * Removed needless instance methods: #prefix=,
406
616
  #dn_attribute=, #sort_by=, #order=, #required_classes=,
407
617
  #recommended_classes= and #excluded_classes. [David Morton]
408
- ** Removed obsolete scafoold_al generator.
409
- ** Reduced default :retry_limit.
410
- ** Supported association as parameter. [Joe Francis]
411
- ** Normalized schema attribute name. [Tim Hermans]
412
- ** Suppressed AuthenticationError -> ConnectionError
618
+ * Removed obsolete scafoold_al generator.
619
+ * Reduced default :retry_limit.
620
+ * Supported association as parameter. [Joe Francis]
621
+ * Normalized schema attribute name. [Tim Hermans]
622
+ * Suppressed AuthenticationError -> ConnectionError
413
623
  conversion on reconnection. [Kazuaki Takase]
414
- ** Added ActiveLdap::Schema#dump.
415
- ** ActiveLdap::Base.establish_connection ->
624
+ * Added ActiveLdap::Schema#dump.
625
+ * ActiveLdap::Base.establish_connection ->
416
626
  ActiveLdap::Base.setup_connection.
417
- ** Supported ActiveLdap::Base.find(:last).
418
- ** Added convenient methods:
419
- *** ActiveLdap::Base.first
420
- *** ActiveLdap::Base.last
421
- *** ActiveLdap::Base.all
627
+ * Supported ActiveLdap::Base.find(:last).
628
+ * Added convenient methods:
629
+ * ActiveLdap::Base.first
630
+ * ActiveLdap::Base.last
631
+ * ActiveLdap::Base.all
422
632
 
423
- h2. 1.0.2
633
+ ## 1.0.2
424
634
 
425
635
  * Removed Base64 module use.
426
636
  * Improved LDIF parser.
@@ -436,26 +646,26 @@ h2. 1.0.2
436
646
  * Accepted :class_name for belong_to and has_many option.
437
647
  * Improved default port guess.
438
648
  * Bug fixes:
439
- ** [#4] ModifyRecord#load doesn't operate atomic. [gwarf12]
440
- ** [#5] to_xml supports :except option. [baptiste.grenier]
441
- ** [#6] to_xml uses ActiveResource format. [baptiste.grenier]
442
- ** Out of ranged GeneralizedTime uses Time.at(0) as fallback value.
649
+ * [#4] ModifyRecord#load doesn't operate atomic. [gwarf12]
650
+ * [#5] to_xml supports :except option. [baptiste.grenier]
651
+ * [#6] to_xml uses ActiveResource format. [baptiste.grenier]
652
+ * Out of ranged GeneralizedTime uses Time.at(0) as fallback value.
443
653
  [Richard Nicholas]
444
- ** ActiveLdap::Base#to_s uses #to_ldif. [Kazuhiro NISHIYAMA]
445
- ** Fixed excess prefix extraction. [Grzegorz Marszałek]
446
- ** Skiped read only attribute validation. [しまさわらさん]
447
- ** Treated "" as empty value. [Ted Lepich]
448
- ** [#9][#16] Reduced raising when DN value is invalid.
654
+ * ActiveLdap::Base#to_s uses #to_ldif. [Kazuhiro NISHIYAMA]
655
+ * Fixed excess prefix extraction. [Grzegorz Marszałek]
656
+ * Skiped read only attribute validation. [しまさわらさん]
657
+ * Treated "" as empty value. [Ted Lepich]
658
+ * [#9][#16] Reduced raising when DN value is invalid.
449
659
  [danger1986][Alexey.Chebotar]
450
- ** [#10][#12] Fixed needless ',' is appeared. [michael.j.konopka]
451
- ** [#11] Required missing 'active_ldap/user_password'. [michael.j.konopka]
452
- ** [#13] Returned entries if has_many :wrap has nonexistent entry.
660
+ * [#10][#12] Fixed needless ',' is appeared. [michael.j.konopka]
661
+ * [#11] Required missing 'active_ldap/user_password'. [michael.j.konopka]
662
+ * [#13] Returned entries if has_many :wrap has nonexistent entry.
453
663
  [ingersoll]
454
- ** [#15] Fixed type error on computing DN. [ery.lee]
455
- ** ">=" filter operator doesn't work. [id:dicdak]
456
- ** [#17] ActiveLdap::Base.create doesn't raise exception. [Alexey.Chebotar]
664
+ * [#15] Fixed type error on computing DN. [ery.lee]
665
+ * ">=" filter operator doesn't work. [id:dicdak]
666
+ * [#17] ActiveLdap::Base.create doesn't raise exception. [Alexey.Chebotar]
457
667
 
458
- h2. 1.0.1
668
+ ## 1.0.1
459
669
 
460
670
  * Fixed GetText integration.
461
671
  * Fixed ActiveLdap::Base.find with ActiveLdap::DN. (Reported by Jeremy Pruitt)
@@ -466,19 +676,19 @@ h2. 1.0.1
466
676
  * Improved inspect.
467
677
  * Supported ActiveSupport 2.1.0.
468
678
 
469
- h2. 1.0.0
679
+ ## 1.0.0
470
680
 
471
681
  * Fixed GSSAPI auth failure. [#18764] (Reported by Lennon Day-Reynolds)
472
682
  * Supported Symbol as :dn_attribute_value. [#18921] (Requested by Nobody)
473
683
  * Improved DN attribute detection. (Reported by Iain Pople)
474
684
  * Avoided unnecesally modify operation. (Reported by Tilo)
475
685
 
476
- h2. 0.10.0
686
+ ## 0.10.0
477
687
 
478
688
  * Implemented LDIF parser.
479
689
  * Improved validation:
480
- ** Added some validations.
481
- ** Fixed SINGLE-VALUE validation. [#17763]
690
+ * Added some validations.
691
+ * Fixed SINGLE-VALUE validation. [#17763]
482
692
  (Reported by Naoto Morishima)
483
693
  * Supported JNDI as backend.
484
694
  * Improved auto reconnection.
@@ -498,45 +708,45 @@ h2. 0.10.0
498
708
  * Added :excluded_classed ldap_mapping option.
499
709
  * Logged operation time used for LDAP operation.
500
710
  * Improved API:
501
- ** Accepted non String value for find(:value => XXX).
711
+ * Accepted non String value for find(:value => XXX).
502
712
  (Suggested by Marc Dequèn)
503
- ** Accepted DN as ActiveLdap::Base.new(XXX).
713
+ * Accepted DN as ActiveLdap::Base.new(XXX).
504
714
  (Reported by Jeremy Pruitt)
505
- ** Treated empty password for smiple bind as anonymous bind.
715
+ * Treated empty password for smiple bind as anonymous bind.
506
716
  (Suggested by Bodaniel Jeans)
507
- ** Ensured adding "objectClass" for find's :attribute value. [#16946]
717
+ * Ensured adding "objectClass" for find's :attribute value. [#16946]
508
718
  (Suggested by Nobody)
509
- ** Fixed a GeneralizedTime type casting bug.
719
+ * Fixed a GeneralizedTime type casting bug.
510
720
  (Reported by Bodaniel Jeanes)
511
- ** Supported :base and :prefix search/find option value escaping.
721
+ * Supported :base and :prefix search/find option value escaping.
512
722
  (Suggested by David Morton)
513
723
 
514
- h2. 0.9.0
724
+ ## 0.9.0
515
725
 
516
726
  * Improved DN handling.
517
727
  * Supported attribute value validation by LDAP schema.
518
728
  * Changed RubyGems name: ruby-activeldap -> activeldap.
519
729
  * Removed Log4r dependency.
520
730
  * Supported lazy connection establishing.
521
- ** [API CHANGE]: establish_connection doesn't connect LDAP server.
731
+ * [API CHANGE]: establish_connection doesn't connect LDAP server.
522
732
  * [API CHANGE]: Removed ActiveLdap::Base#establish_connection.
523
733
  * Added ActiveLdap::Base#bind. (use this instead of #establish_connection)
524
734
  * Supported implicit acts_as_tree.
525
735
  * [API CHANGE]: Supported type casting.
526
736
  * Supported :uri option in configuration.
527
737
  * Improved Rails integration:
528
- ** Followed Rails 2.0 changes.
529
- ** AL-Admin:
530
- *** Supported lang parameter in URL.
531
- *** Improved design a bit. (Please someone help us!)
532
- *** Supported schema inspection.
533
- *** Supported objectClass modifiation.
534
- ** Rails plugin:
535
- *** Added ActiveLdap::VERSION check.
536
- *** Added model_active_ldap generator.
537
- *** Renamed scaffold_al generator to scaffold_active_ldap.
538
-
539
- h2. 0.8.3
738
+ * Followed Rails 2.0 changes.
739
+ * AL-Admin:
740
+ * Supported lang parameter in URL.
741
+ * Improved design a bit. (Please someone help us!)
742
+ * Supported schema inspection.
743
+ * Supported objectClass modifiation.
744
+ * Rails plugin:
745
+ * Added ActiveLdap::VERSION check.
746
+ * Added model_active_ldap generator.
747
+ * Renamed scaffold_al generator to scaffold_active_ldap.
748
+
749
+ ## 0.8.3
540
750
 
541
751
  * Added AL-Admin Sample Rails app
542
752
  * Added Ruby-GetText-Package support
@@ -545,36 +755,36 @@ h2. 0.8.3
545
755
  * Improved performance
546
756
  * Many bug fixes
547
757
 
548
- h2. 0.8.2
758
+ ## 0.8.2
549
759
 
550
760
  * Added Net::LDAP support!
551
- ** supported SASL Digest-MD5 authentication with Net::LDAP.
761
+ * supported SASL Digest-MD5 authentication with Net::LDAP.
552
762
  * improved LDAP server support:
553
- ** improved Sun DS support.
554
- ** improved ActiveDirectory support. Thanks to Ernie Miller!
555
- ** improved Fedora-DS support. Thanks to Daniel Pfile!
763
+ * improved Sun DS support.
764
+ * improved ActiveDirectory support. Thanks to Ernie Miller!
765
+ * improved Fedora-DS support. Thanks to Daniel Pfile!
556
766
  * improved existing functions:
557
- ** improved DN handling. Thanks to James Hughes!
558
- ** improved SASL bind.
559
- ** improved old API check.
560
- ** improved schema handling. Thanks to Christoph Lipp!
561
- ** improved filter notification.
767
+ * improved DN handling. Thanks to James Hughes!
768
+ * improved SASL bind.
769
+ * improved old API check.
770
+ * improved schema handling. Thanks to Christoph Lipp!
771
+ * improved filter notification.
562
772
  * updated documents:
563
- ** updated Rails realted documenation. Thanks to James Hughes!
564
- ** updated documentation for the changes between 0.7.1 and 0.8.0.
773
+ * updated Rails realted documenation. Thanks to James Hughes!
774
+ * updated documentation for the changes between 0.7.1 and 0.8.0.
565
775
  Thanks to Buzz Chopra!
566
776
  * added new features:
567
- ** added scaffold_al generator for Rails.
568
- ** added required_classes to default filter value. Thanks to Jeff Hall!
569
- ** added :recommended_classes option to ldap_mapping.
570
- ** added :sort_by and :order options to find.
571
- ** added ActiveLdap::Base#to_param for ActionController.
777
+ * added scaffold_al generator for Rails.
778
+ * added required_classes to default filter value. Thanks to Jeff Hall!
779
+ * added :recommended_classes option to ldap_mapping.
780
+ * added :sort_by and :order options to find.
781
+ * added ActiveLdap::Base#to_param for ActionController.
572
782
  * fixed some bugs:
573
- ** fixed rake install/uninstall.
574
- ** fixed typos. Thanks to Nobody!
575
- ** fixed required_classes initialization. Thanks to James Hughes!
783
+ * fixed rake install/uninstall.
784
+ * fixed typos. Thanks to Nobody!
785
+ * fixed required_classes initialization. Thanks to James Hughes!
576
786
 
577
- h2. 0.8.1
787
+ ## 0.8.1
578
788
 
579
789
  * used Dependencies.load_paths.
580
790
  * check whether attribute name is available or not.
@@ -592,7 +802,7 @@ h2. 0.8.1
592
802
  * followed new API.
593
803
  * removed a finished task: support Reloadable::Subclasses.
594
804
 
595
- h2. 0.8.0
805
+ ## 0.8.0
596
806
 
597
807
  * Makefile/gemspec system replaced with Rakefile + Hoe
598
808
  * Bugfix: Allow base to be empty
@@ -622,31 +832,31 @@ h2. 0.8.0
622
832
  * make save() return false on fail
623
833
  * make save!() raise EntryNotSaved exception
624
834
  * to_xml()
625
- * clear_active_connections!() -- Conn per class
626
- ** make @@active_connections and name them by
835
+ * `clear_active_connections!()` -- Conn per class
836
+ * make @@active_connections and name them by
627
837
  * base_class() (just return the ancestor)
628
838
  * Separate ObjectClass changes to live in ActiveLDAP::ObjectClass
629
- ** add_objectclass
630
- ** remove_objectclass
631
- ** replace_objectclass
632
- ** disallow direct objectclass access?
839
+ * add_objectclass
840
+ * remove_objectclass
841
+ * replace_objectclass
842
+ * disallow direct objectclass access?
633
843
  * support ActiveRecord::Validations.
634
844
  * support ActiveRecord::Callbacks.
635
845
  * rename to ActiveLdap from ActiveLDAP to integrate RoR easily and enforce
636
846
  many API changes.
637
847
 
638
- h2. 0.7.4
848
+ ## 0.7.4
639
849
 
640
850
  * Bugfix: do not base LDAP::PrettyError on RuntimeError due to rescue evaluation.
641
851
  * Bugfix: :return_objects was overriding :objects in find and find_all
642
852
  * Rollup exception code into smaller space reusing similar code.
643
853
 
644
- h2. 0.7.3
854
+ ## 0.7.3
645
855
 
646
856
  * Made has_many and belongs_to use :return_objects value
647
857
  * Force generation of LDAP constants on import - currently broken
648
858
 
649
- h2. 0.7.2
859
+ ## 0.7.2
650
860
 
651
861
  * Stopped overriding Conn.schema in ldap/schema - now use schema2
652
862
  * Fix attributes being deleted when changing between objectclasses with shared attributes
@@ -669,14 +879,14 @@ h2. 0.7.2
669
879
  * Added(*) a forking timeout using SIGALRM to interrupt handling.
670
880
  * (*) Only works when RUBY_PLATFORM has "linux" in it
671
881
 
672
- h2. 0.7.1
882
+ ## 0.7.1
673
883
 
674
884
  * Fix broken -W0 arg in activeldap.rb
675
885
  * attribute_method=: '' and nil converted to ldap-pleasing [] values
676
886
  * Added checks in write and search for connection down (to reconnect)
677
887
  * Fixed broken idea of LDAP::err2string exceptions. Instead took errcodes from ldap.c in Ruby/LDAP.
678
888
 
679
- h2. 0.7.0
889
+ ## 0.7.0
680
890
 
681
891
  * ConnectionError thrown from #initialize when there is no connection and retry limit was exceeded
682
892
  * ConnectionError thrown when retries exceeded when no connection was created
@@ -697,7 +907,7 @@ h2. 0.7.0
697
907
  * Added support for Base::connect(.., :password => String, ...) to avoid stupid Proc.new {'foo'} crap
698
908
  * Add :store_password option. When this is set, :password is not cleared and :password_block is not re-evaluated on each rebind.
699
909
 
700
- h2. 0.6.0
910
+ ## 0.6.0
701
911
 
702
912
  * Disallow blank DN attribute values on initialization
703
913
  * Fix bug reported by Maik Schmidt regarding object creation
@@ -708,7 +918,7 @@ h2. 0.6.0
708
918
  * Changes examples and tests to use "dc=localdomain"
709
919
  * has_many() entries no longer return nil when empty
710
920
 
711
- h2. 0.5.9
921
+ ## 0.5.9
712
922
 
713
923
  * Change default base to dc=localdomain (as per Debian default).
714
924
  * schema2.rb:attr() now returns [] instead of '' when empty.
@@ -720,60 +930,60 @@ h2. 0.5.9
720
930
  * Fixed broken creation of objects from anonymous classes.
721
931
  * Fixed broken use of ldap_mapping with anonymous classes.
722
932
 
723
- h2. 0.5.8: Bugfix galore
933
+ ## 0.5.8: Bugfix galore
724
934
 
725
935
  * Allow nil "prefix"
726
936
  * Fixed the dup bug with Anonymous patch.
727
937
  * (maybe) Fixed stale connection problems by attempting reconn/bind.
728
938
  * Hiding redefine warnings (for now)
729
939
 
730
- h2. 0.5.7
940
+ ## 0.5.7
731
941
 
732
942
  * Fixed the @data.default = [] bug that daniel@nightrunner.com pointed out
733
943
  (and partially patched).
734
944
 
735
- h2. 0.5.6
945
+ ## 0.5.6
736
946
 
737
947
  * Added support for foreign_key => 'dn' in has_many.
738
948
 
739
- h2. 0.5.5
949
+ ## 0.5.5
740
950
 
741
951
  * Remove @@logger.debug entries during build
742
952
  * Building -debug and regular gems and tarballs
743
953
 
744
- h2. 0.5.4
954
+ ## 0.5.4
745
955
 
746
956
  * Added Base#import to streamline the Base.find and Base.find_all methods
747
- ** Speeds up find and find_all by not accessing LDAP multiple times
957
+ * Speeds up find and find_all by not accessing LDAP multiple times
748
958
  for data we already have.
749
959
  * Added tests/benchmark which is a slightly modified version of excellent
750
960
  benchmarking code contributed by
751
961
  Ollivier Robert <roberto -_-AT-_- keltia.freenix.fr>.
752
962
 
753
- h2. 0.5.3
963
+ ## 0.5.3
754
964
 
755
965
  * Changed attribute_method to send in associations
756
- ** fixes belongs_to (with local_kay) and inheritance around that
966
+ * fixes belongs_to (with local_kay) and inheritance around that
757
967
 
758
- h2. 0.5.2
968
+ ## 0.5.2
759
969
 
760
970
  * Make sure values are .dup'd when they come from LDAP
761
971
 
762
- h2. 0.5.1
972
+ ## 0.5.1
763
973
 
764
974
  * Changed Schema2#class_attributes to return @{:must => [], :may => []}@
765
975
  * Fixed Base#must and Base#may to return with full SUPerclass requirements
766
976
 
767
- h2. 0.5.0
977
+ ## 0.5.0
768
978
 
769
979
  * API CHANGE (as with all 0.x.0 changes) (towards ActiveRecord duck typing)
770
- ** Base#ldapattribute now always returns an array
771
- ** Base#ldapattribute(true) now returns a dup of an array, string, etc
980
+ * Base#ldapattribute now always returns an array
981
+ * Base#ldapattribute(true) now returns a dup of an array, string, etc
772
982
  when appropriate (old default) - This is just for convenience
773
- ** Base#ldapattribute returns the stored value, not just a .dup
774
- ** Associations methods return objects by default instead of just names.
983
+ * Base#ldapattribute returns the stored value, not just a .dup
984
+ * Associations methods return objects by default instead of just names.
775
985
  Group.new('foo').members(false) will return names only.
776
- ** Base.connect returns true as one might expect
986
+ * Base.connect returns true as one might expect
777
987
  * Value validation and changing (binary, etc) occur prior to write, and
778
988
  not immediately on attribute_method=(value).
779
989
  * Attribute method validity is now determined /on-the-fly/.
@@ -793,28 +1003,28 @@ h2. 0.5.0
793
1003
  This also makes it possible to "break" objects by removing the 'top'
794
1004
  objectclass and therefore the #objectClass method...
795
1005
 
796
- h2. 0.4.4
1006
+ ## 0.4.4
797
1007
 
798
1008
  * Fixed binary subtype forcing:
799
- ** was setting data as subtype ;binary even when not required
1009
+ * was setting data as subtype ;binary even when not required
800
1010
  * Added first set of unit tests.
801
- ** These will be cleaned up in later releases as more tests are added.
1011
+ * These will be cleaned up in later releases as more tests are added.
802
1012
  * Fixed subtype clobber non-subtype (unittest!)
803
- ** cn and cn;lang-blah: the last loaded won
1013
+ * cn and cn;lang-blah: the last loaded won
804
1014
  * Fixed multivalued subtypes from being shoved into a string (unittest!)
805
- ** an error with attribute_input_value
1015
+ * an error with attribute_input_value
806
1016
 
807
- h2. 0.4.3
1017
+ ## 0.4.3
808
1018
 
809
1019
  * Fixed write (add) bugs introduced with last change
810
- ** only bug fixes until unittests are in place
1020
+ * only bug fixes until unittests are in place
811
1021
 
812
- h2. 0.4.2
1022
+ ## 0.4.2
813
1023
 
814
1024
  * Added ruby-activeldap.gemspec
815
1025
  * Integrated building a gem of 'ruby-activeldap' into Makefile.package
816
1026
  * Added attr parsing cache to speed up repetitive calls: approx 13x speedup
817
- ** 100 usermod-binary-add calls
1027
+ * 100 usermod-binary-add calls
818
1028
 
819
1029
  <pre>
820
1030
  !!!plain
@@ -828,12 +1038,12 @@ h2. 0.4.2
828
1038
  sys 0m2.380s
829
1039
  </pre>
830
1040
 
831
- h2. 0.4.1:
1041
+ ## 0.4.1:
832
1042
 
833
1043
  * Schema2 was not correctly parsing objectClass entries.
834
- ** This is fixed for now but must be revisited.
1044
+ * This is fixed for now but must be revisited.
835
1045
 
836
- h2. 0.4.0
1046
+ ## 0.4.0
837
1047
 
838
1048
  * Added #<attribute>(arrays) argument which when true
839
1049
  always returns arrays. e.g.
@@ -846,77 +1056,77 @@ h2. 0.4.0
846
1056
 
847
1057
  This makes things easier for larger programming tasks.
848
1058
  * Added subtype support:
849
- ** Uses Hash objects to specify the subtype
1059
+ * Uses Hash objects to specify the subtype
850
1060
  e.g. @user.userCertificate = {'binary' => File.read('mycert.der')}@
851
- ** Added recursive type enforcement along with the subtype handling
852
- ** This required overhauling the #write method.
853
- *** Please report any problems ASAP! :^)
1061
+ * Added recursive type enforcement along with the subtype handling
1062
+ * This required overhauling the #write method.
1063
+ * Please report any problems ASAP! :^)
854
1064
  * Added automagic binary support
855
- ** subtype wrapping done automatically
856
- ** relies on X-NOT-HUMAN-READABLE flag
1065
+ * subtype wrapping done automatically
1066
+ * relies on X-NOT-HUMAN-READABLE flag
857
1067
  * Added LDAP::Schema2 which is an extension of Ruby/LDAP::Schema
858
- ** made Schema#attr generic for easy type dereferencing
1068
+ * made Schema#attr generic for easy type dereferencing
859
1069
  * Updated rdoc in activeldap.rb
860
1070
  * Updated examples (poorly) to reflect new functionality
861
1071
  * Added several private helper functions
862
1072
 
863
- h2. 0.3.6
1073
+ ## 0.3.6
864
1074
 
865
1075
  * Fixed dn attribute value extraction on find and find_all
866
- ** these may have grabbed the wrong value if a DN attr has
1076
+ * these may have grabbed the wrong value if a DN attr has
867
1077
  multiple values.
868
1078
  * Fixed Base.search to return all values as arrays and update
869
1079
  multivalued ones correctly
870
1080
  * Lowered the amount of default logging to FATAL only
871
1081
 
872
- h2. 0.3.5
1082
+ ## 0.3.5
873
1083
 
874
1084
  * Moved to rubyforge.org!
875
1085
 
876
- h2. 0.3.4
1086
+ ## 0.3.4
877
1087
 
878
1088
  * Changed license to Ruby's
879
1089
 
880
- h2. 0.3.3
1090
+ ## 0.3.3
881
1091
 
882
1092
  * Changed Base.search to return an array instead of a hash of hashes
883
1093
  * Change Base.search to take in a hash as its arguments
884
1094
 
885
- h2. 0.3.2
1095
+ ## 0.3.2
886
1096
 
887
1097
  * Bug fix - fixed support for module'd extension classes (again!)
888
1098
 
889
- h2. 0.3.1
1099
+ ## 0.3.1
890
1100
 
891
1101
  * Updated the documentation
892
1102
  * Fixed ignoring of attrs argument in Base.search
893
1103
  * Fixed mistake in groupls (using dnattr directly)
894
1104
  * Fixed a mistake with overzealous dup'ing
895
1105
 
896
- h2. 0.3.0
1106
+ ## 0.3.0
897
1107
 
898
1108
  * MORE API CHANGES (configuration.rb, etc)
899
1109
  * Major overhaul to the internals!
900
- ** removed @@BLAH[@klass] in lieu of defining
1110
+ * removed @@BLAH[@klass] in lieu of defining
901
1111
  class methods which contain the required values. This
902
1112
  allows for clean inheritance of Base subclasses! Whew!
903
- ** Added @@config to store the options currently in use
1113
+ * Added @@config to store the options currently in use
904
1114
  after a Base.connect
905
- ** Now cache passwords for doing reconnects
906
- ** dnattr now accessible to the outside as a class method only
1115
+ * Now cache passwords for doing reconnects
1116
+ * dnattr now accessible to the outside as a class method only
907
1117
  * Added Base.search to wrap normal LDAP search for convenience.
908
- ** This returns a hash of hashes with the results indexed first by
1118
+ * This returns a hash of hashes with the results indexed first by
909
1119
  full dn, then by attribute.
910
1120
 
911
- h2. 0.2.0
1121
+ ## 0.2.0
912
1122
 
913
1123
  * API CHANGES:
914
- ** Extension classes must be defined using map_to_ldap instead of setting
1124
+ * Extension classes must be defined using map_to_ldap instead of setting
915
1125
  random values in initialize
916
- ** Base#find is now Base.find_all and is a class method
917
- ** Base.find returns the first match a la Array#find
918
- ** force_reload is gone in belongs_to and has_many created methods
919
- ** hiding Base.new, Base.find, and Base.find_all from direct access
1126
+ * Base#find is now Base.find_all and is a class method
1127
+ * Base.find returns the first match a la Array#find
1128
+ * force_reload is gone in belongs_to and has_many created methods
1129
+ * hiding Base.new, Base.find, and Base.find_all from direct access
920
1130
  * added uniq to setting objectClass to avoid stupid errors
921
1131
  * fixed new object creation bug where attributes were added before the
922
1132
  objectclass resulting in a violation (Base#write)
@@ -930,48 +1140,48 @@ h2. 0.2.0
930
1140
  * Base.connect(:try_sasl => true) should now work with GSSAPI if you are
931
1141
  using OpenLDAP >= 2.1.29
932
1142
 
933
- h2. 0.1.8
1143
+ ## 0.1.8
934
1144
 
935
1145
  * .dup all returned attribute values to avoid weirdness
936
1146
  * .dup all assigned values to avoid weirdness
937
1147
  * Changed default configuration.rb to use example.com
938
1148
 
939
- h2. 0.1.7
1149
+ ## 0.1.7
940
1150
 
941
1151
  * Added support for non-unique DN attributes
942
1152
  * Added authoritative DN retrieval with 'object.dn'
943
1153
 
944
- h2. 0.1.6
1154
+ ## 0.1.6
945
1155
 
946
1156
  * Added Base.close method for clearing the existing connection (despite Ruby/LDAP's lack of .close)
947
1157
 
948
- h2. 0.1.5
1158
+ ## 0.1.5
949
1159
 
950
1160
  * Fixed incorrect usage of @klass in .find (should .find be a class method?)
951
1161
 
952
- h2. 0.1.4
1162
+ ## 0.1.4
953
1163
 
954
1164
  * Change WARN to INFO in associations.rb for has_many
955
1165
 
956
- h2. 0.1.3
1166
+ ## 0.1.3
957
1167
 
958
1168
  * Fixed class name mangling
959
1169
  * Added support for classes to take DNs as the initialization value
960
1170
 
961
- h2. 0.1.2
1171
+ ## 0.1.2
962
1172
 
963
1173
  * Patch from Dick Davies: Try SSL before TLS
964
1174
  * Log4r support
965
1175
  * Better packaging (automated)
966
1176
  * Work-around for SSL stupidity
967
- ** SSLConn doesn't check if the port it connected to is really using SSL!
1177
+ * SSLConn doesn't check if the port it connected to is really using SSL!
968
1178
 
969
- h2. 0.1.1
1179
+ ## 0.1.1
970
1180
 
971
1181
  * Dynamic table class creation
972
1182
  * SASL/GSSAPI disabled by default - doesn't work consistently
973
1183
 
974
- h2. 0.1.0
1184
+ ## 0.1.0
975
1185
 
976
1186
  * Added foreign_key to has_many
977
1187
  * Added local_key to belongs_to
@@ -980,48 +1190,48 @@ h2. 0.1.0
980
1190
  * Packaged up with setup.rb
981
1191
  * Added RDocs and better comments
982
1192
 
983
- h2. 0.0.9
1193
+ ## 0.0.9
984
1194
 
985
1195
  * Separated extension classes from ActiveLDAP module
986
1196
  * Cleaned up examples with new requires
987
1197
 
988
- h2. 0.0.8
1198
+ ## 0.0.8
989
1199
 
990
1200
  * Added user and group scripting examples
991
- ** usermod, userls, useradd, userdel
992
- ** groupmod, groupls
1201
+ * usermod, userls, useradd, userdel
1202
+ * groupmod, groupls
993
1203
 
994
- h2. 0.0.7
1204
+ ## 0.0.7
995
1205
 
996
1206
  * Cleaner authentication loop:
997
- ** SASL (GSSAPI only), simple, anonymous
1207
+ * SASL (GSSAPI only), simple, anonymous
998
1208
  * Added allow_anonymous option added (default: false)
999
1209
 
1000
- h2. 0.0.6
1210
+ ## 0.0.6
1001
1211
 
1002
1212
  * Write support cleaned up
1003
1213
  * Exception classes added
1004
1214
 
1005
- h2. 0.0.5
1215
+ ## 0.0.5
1006
1216
 
1007
1217
  * LDAP write support added
1008
1218
 
1009
- h2. 0.0.4
1219
+ ## 0.0.4
1010
1220
 
1011
1221
  * MUST and MAY data validation against schema using objectClasses
1012
1222
 
1013
- h2. 0.0.3
1223
+ ## 0.0.3
1014
1224
 
1015
1225
  * LDAP attributes alias resolution and data mapping
1016
1226
 
1017
- h2. 0.0.2
1227
+ ## 0.0.2
1018
1228
 
1019
1229
  * Associations: has_many and belongs_to Class methods added for Base
1020
1230
 
1021
- h2. 0.0.1
1231
+ ## 0.0.1
1022
1232
 
1023
1233
  * Extension approach in place with example User and Group classes
1024
1234
 
1025
- h2. 0.0.0
1235
+ ## 0.0.0
1026
1236
 
1027
1237
  * Basic LDAP read support in place with hard-coded OUs