activeldap 1.2.4 → 3.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.
- data/Gemfile +18 -0
- data/LICENSE +2 -1
- data/README.textile +137 -0
- data/doc/text/development.textile +50 -0
- data/{CHANGES → doc/text/news.textile} +256 -237
- data/doc/text/rails.textile +144 -0
- data/doc/text/tutorial.textile +1005 -0
- data/lib/active_ldap/adapter/base.rb +5 -3
- data/lib/active_ldap/adapter/net_ldap_ext.rb +1 -1
- data/lib/active_ldap/associations.rb +6 -2
- data/lib/active_ldap/base.rb +16 -71
- data/lib/active_ldap/callbacks.rb +52 -33
- data/lib/active_ldap/configuration.rb +2 -2
- data/lib/active_ldap/get_text/parser.rb +2 -2
- data/lib/active_ldap/human_readable.rb +5 -4
- data/lib/active_ldap/log_subscriber.rb +50 -0
- data/lib/active_ldap/persistence.rb +65 -0
- data/lib/active_ldap/railtie.rb +40 -0
- data/lib/active_ldap/railties/controller_runtime.rb +48 -0
- data/lib/active_ldap/user_password.rb +1 -0
- data/lib/active_ldap/validations.rb +34 -72
- data/lib/active_ldap.rb +13 -912
- data/{rails_generators/model_active_ldap → lib/rails/generators/active_ldap/model}/USAGE +2 -1
- data/lib/rails/generators/active_ldap/model/model_generator.rb +47 -0
- data/{rails_generators/model_active_ldap → lib/rails/generators/active_ldap/model}/templates/model_active_ldap.rb +0 -0
- data/lib/rails/generators/active_ldap/scaffold/scaffold_generator.rb +14 -0
- data/{rails_generators/scaffold_active_ldap → lib/rails/generators/active_ldap/scaffold}/templates/ldap.yml +1 -0
- data/test/test_base.rb +9 -0
- data/test/test_callback.rb +2 -6
- data/test/test_connection.rb +2 -2
- data/test/test_user.rb +2 -2
- data/test/test_validation.rb +11 -11
- metadata +165 -106
- data/README +0 -155
- data/Rakefile +0 -133
- data/rails/README +0 -54
- data/rails/init.rb +0 -33
- data/rails_generators/model_active_ldap/model_active_ldap_generator.rb +0 -69
- data/rails_generators/model_active_ldap/templates/unit_test.rb +0 -8
- data/rails_generators/scaffold_active_ldap/scaffold_active_ldap_generator.rb +0 -7
- data/test/al-test-utils.rb +0 -439
- data/test/command.rb +0 -112
- data/test/config.yaml.sample +0 -6
- data/test/fixtures/lower_case_object_class_schema.rb +0 -802
- data/test/run-test.rb +0 -44
@@ -1,12 +1,19 @@
|
|
1
|
-
|
1
|
+
h1. News
|
2
2
|
|
3
|
-
|
3
|
+
h2(#3-1-0). 3.1.0: 2011-07-09
|
4
|
+
|
5
|
+
* Supported Rails 3.1.0.rc4.
|
6
|
+
[Ryan Tandy, Narihiro Nakamura, Hidetoshi Yoshimoto]
|
7
|
+
* Removed ActiveRecord dependency and added ActiveModel dependency.
|
8
|
+
* Used YARD instead of RDoc as documentation sysytem.
|
9
|
+
|
10
|
+
h2. 1.2.4: 2011-05-13
|
4
11
|
|
5
12
|
* Splited AL-Admin into other repository: https://github.com/activeldap/al-admin
|
6
13
|
* [GitHub:#2] Fixed "path po cound not be found" error by fast_gettext.
|
7
14
|
[rbq]
|
8
15
|
|
9
|
-
|
16
|
+
h2. 1.2.3: 2011-04-30
|
10
17
|
|
11
18
|
* [#40] Ignored nil value attribute.
|
12
19
|
[christian.pennafort]
|
@@ -21,7 +28,7 @@
|
|
21
28
|
* Fixed wrong assertion in test.
|
22
29
|
[Ryan Tandy]
|
23
30
|
|
24
|
-
|
31
|
+
h3. Thanks
|
25
32
|
|
26
33
|
* christian.pennafort
|
27
34
|
* planetmcd
|
@@ -30,7 +37,7 @@
|
|
30
37
|
* Kris Wehner
|
31
38
|
* Ryan Tandy
|
32
39
|
|
33
|
-
|
40
|
+
h2. 1.2.2: 2010-07-04
|
34
41
|
|
35
42
|
* Supported ActiveRecord 2.3.8 and Rails 2.3.8.
|
36
43
|
* [#37] Fixed gem dependencies in Rakefile. [zachwily]
|
@@ -47,7 +54,7 @@
|
|
47
54
|
* Supported DN attribute value for assosiation replacement.
|
48
55
|
[Jörg Herzinger]
|
49
56
|
|
50
|
-
|
57
|
+
h2. 1.2.1: 2009-12-15
|
51
58
|
|
52
59
|
* Supported ActiveRecord 2.3.5 and Rails 2.3.5.
|
53
60
|
* Supported GetText 2.1.0 and Locale 2.0.5.
|
@@ -58,7 +65,7 @@
|
|
58
65
|
* [#35] fix has_many association is broken. [culturespy]
|
59
66
|
* Supported nested attribute options. [Hideyuki Yasuda]
|
60
67
|
|
61
|
-
|
68
|
+
h2. 1.2.0: 2009-09-22
|
62
69
|
|
63
70
|
* Supported ActiveRecord 2.3.4 and Rails 2.3.4.
|
64
71
|
* [IMCOMPATIBLE]
|
@@ -73,60 +80,60 @@
|
|
73
80
|
* Supported renaming an entry. Renaming other DTI is only supported by
|
74
81
|
JNDI backend.
|
75
82
|
|
76
|
-
|
83
|
+
h2. 1.1.0: 2009-07-18
|
77
84
|
|
78
85
|
* Improved tutorial. [Kazuaki Takase]
|
79
86
|
* Improvements:
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
87
|
+
** API:
|
88
|
+
*** [#26] Supported to_xml for associations. [achemze]
|
89
|
+
*** ActiveLdap::Base.delete_all(filter=nil, options={}) ->
|
90
|
+
ActiveLdap::Base.delete_all(filter_or_options={}).
|
91
|
+
Sure, old method signature is also still supported.
|
92
|
+
*** belongs_to(:many) with :foreign_key is deprecated.
|
93
|
+
Use :primary_key instead of :foreign_key. [Kazuaki Takase]
|
94
|
+
*** Means of has_many's :primary_key and :foreign_key are inverted.
|
95
|
+
[Kazuaki Takase]
|
96
|
+
*** [experimental] Added ldap_field ActionView helper to
|
97
|
+
generate form fileds for a LDAP entry.
|
98
|
+
** Suppressed needless attributes updating.
|
92
99
|
* Dependencies:
|
93
|
-
|
94
|
-
|
100
|
+
** Re-supported GetText.
|
101
|
+
** ActiveRecord 2.3.2 is only supported.
|
95
102
|
|
96
|
-
|
103
|
+
h2. 1.0.9
|
97
104
|
|
98
105
|
* Added documents in Japanese. [Kazuaki Takase]
|
99
106
|
* Supported Ruby 1.9.1.
|
100
|
-
|
107
|
+
** [#20] [Ruby 1.9 Support] :: Running Tests [Alexey.Chebotar]
|
101
108
|
* Supported Rails 2.3.2.
|
102
|
-
|
109
|
+
** [#18] [Rails 2.3 Support] :: Running WEBrick Hangs [Alexey.Chebotar]
|
103
110
|
* Bug fixes:
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
111
|
+
** Fixed blank values detection. [David Morton]
|
112
|
+
** [#22] Ruby 1.8.6 p287 :: Undefined methods [Alexey.Chebotar]
|
113
|
+
** Fixed gem loading. [Tiago Fernandes]
|
114
|
+
** Fixed DN change via #base=. [David Morton]
|
115
|
+
** Fixed infinite retry on timeout.
|
116
|
+
** Fixed needless reconnection.
|
110
117
|
* API improvements:
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
118
|
+
** Removed needless instance methods: #prefix=,
|
119
|
+
#dn_attribute=, #sort_by=, #order=, #required_classes=,
|
120
|
+
#recommended_classes= and #excluded_classes. [David Morton]
|
121
|
+
** Removed obsolete scafoold_al generator.
|
122
|
+
** Reduced default :retry_limit.
|
123
|
+
** Supported association as parameter. [Joe Francis]
|
124
|
+
** Normalized schema attribute name. [Tim Hermans]
|
125
|
+
** Suppressed AuthenticationError -> ConnectionError
|
126
|
+
conversion on reconnection. [Kazuaki Takase]
|
127
|
+
** Added ActiveLdap::Schema#dump.
|
128
|
+
** ActiveLdap::Base.establish_connection ->
|
129
|
+
ActiveLdap::Base.setup_connection.
|
130
|
+
** Supported ActiveLdap::Base.find(:last).
|
131
|
+
** Added convenient methods:
|
132
|
+
*** ActiveLdap::Base.first
|
133
|
+
*** ActiveLdap::Base.last
|
134
|
+
*** ActiveLdap::Base.all
|
135
|
+
|
136
|
+
h2. 1.0.2
|
130
137
|
|
131
138
|
* Removed Base64 module use.
|
132
139
|
* Improved LDIF parser.
|
@@ -142,26 +149,26 @@
|
|
142
149
|
* Accepted :class_name for belong_to and has_many option.
|
143
150
|
* Improved default port guess.
|
144
151
|
* Bug fixes:
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
152
|
+
** [#4] ModifyRecord#load doesn't operate atomic. [gwarf12]
|
153
|
+
** [#5] to_xml supports :except option. [baptiste.grenier]
|
154
|
+
** [#6] to_xml uses ActiveResource format. [baptiste.grenier]
|
155
|
+
** Out of ranged GeneralizedTime uses Time.at(0) as fallback value.
|
156
|
+
[Richard Nicholas]
|
157
|
+
** ActiveLdap::Base#to_s uses #to_ldif. [Kazuhiro NISHIYAMA]
|
158
|
+
** Fixed excess prefix extraction. [Grzegorz Marszałek]
|
159
|
+
** Skiped read only attribute validation. [しまさわらさん]
|
160
|
+
** Treated "" as empty value. [Ted Lepich]
|
161
|
+
** [#9][#16] Reduced raising when DN value is invalid.
|
162
|
+
[danger1986][Alexey.Chebotar]
|
163
|
+
** [#10][#12] Fixed needless ',' is appeared. [michael.j.konopka]
|
164
|
+
** [#11] Required missing 'active_ldap/user_password'. [michael.j.konopka]
|
165
|
+
** [#13] Returned entries if has_many :wrap has nonexistent entry.
|
166
|
+
[ingersoll]
|
167
|
+
** [#15] Fixed type error on computing DN. [ery.lee]
|
168
|
+
** ">=" filter operator doesn't work. [id:dicdak]
|
169
|
+
** [#17] ActiveLdap::Base.create doesn't raise exception. [Alexey.Chebotar]
|
170
|
+
|
171
|
+
h2. 1.0.1
|
165
172
|
|
166
173
|
* Fixed GetText integration.
|
167
174
|
* Fixed ActiveLdap::Base.find with ActiveLdap::DN. (Reported by Jeremy Pruitt)
|
@@ -172,73 +179,77 @@
|
|
172
179
|
* Improved inspect.
|
173
180
|
* Supported ActiveSupport 2.1.0.
|
174
181
|
|
175
|
-
|
182
|
+
h2. 1.0.0
|
176
183
|
|
177
184
|
* Fixed GSSAPI auth failure. [#18764] (Reported by Lennon Day-Reynolds)
|
178
185
|
* Supported Symbol as :dn_attribute_value. [#18921] (Requested by Nobody)
|
179
186
|
* Improved DN attribute detection. (Reported by Iain Pople)
|
180
187
|
* Avoided unnecesally modify operation. (Reported by Tilo)
|
181
188
|
|
182
|
-
|
189
|
+
h2. 0.10.0
|
183
190
|
|
184
191
|
* Implemented LDIF parser.
|
185
192
|
* Improved validation:
|
186
|
-
|
187
|
-
|
188
|
-
|
193
|
+
** Added some validations.
|
194
|
+
** Fixed SINGLE-VALUE validation. [#17763]
|
195
|
+
(Reported by Naoto Morishima)
|
189
196
|
* Supported JNDI as backend.
|
190
197
|
* Improved auto reconnection.
|
191
198
|
* Supported Rails 2.0.2.
|
192
199
|
* Improved performance. (4x)
|
193
200
|
* [API CHANGE]: removed "'binary' =>" from getter result.
|
194
201
|
|
202
|
+
<pre>
|
203
|
+
!!!plain
|
195
204
|
e.g.:
|
196
205
|
before:
|
197
206
|
user.user_certificate # => {"binary" => "..."}
|
198
207
|
now:
|
199
208
|
user.user_certificate # => "..."
|
209
|
+
</pre>
|
210
|
+
|
200
211
|
* Added :excluded_classed ldap_mapping option.
|
201
212
|
* Logged operation time used for LDAP operation.
|
202
213
|
* Improved API:
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
214
|
+
** Accepted non String value for find(:value => XXX).
|
215
|
+
(Suggested by Marc Dequèn)
|
216
|
+
** Accepted DN as ActiveLdap::Base.new(XXX).
|
217
|
+
(Reported by Jeremy Pruitt)
|
218
|
+
** Treated empty password for smiple bind as anonymous bind.
|
219
|
+
(Suggested by Bodaniel Jeans)
|
220
|
+
** Ensured adding "objectClass" for find's :attribute value. [#16946]
|
221
|
+
(Suggested by Nobody)
|
222
|
+
** Fixed a GeneralizedTime type casting bug.
|
223
|
+
(Reported by Bodaniel Jeanes)
|
224
|
+
** Supported :base and :prefix search/find option value escaping.
|
225
|
+
(Suggested by David Morton)
|
226
|
+
|
227
|
+
h2. 0.9.0
|
217
228
|
|
218
229
|
* Improved DN handling.
|
219
230
|
* Supported attribute value validation by LDAP schema.
|
220
231
|
* Changed RubyGems name: ruby-activeldap -> activeldap.
|
221
232
|
* Removed Log4r dependency.
|
222
233
|
* Supported lazy connection establishing.
|
223
|
-
|
234
|
+
** [API CHANGE]: establish_connection doesn't connect LDAP server.
|
224
235
|
* [API CHANGE]: Removed ActiveLdap::Base#establish_connection.
|
225
236
|
* Added ActiveLdap::Base#bind. (use this instead of #establish_connection)
|
226
237
|
* Supported implicit acts_as_tree.
|
227
238
|
* [API CHANGE]: Supported type casting.
|
228
239
|
* Supported :uri option in configuration.
|
229
240
|
* Improved Rails integration:
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
241
|
+
** Followed Rails 2.0 changes.
|
242
|
+
** AL-Admin:
|
243
|
+
*** Supported lang parameter in URL.
|
244
|
+
*** Improved design a bit. (Please someone help us!)
|
245
|
+
*** Supported schema inspection.
|
246
|
+
*** Supported objectClass modifiation.
|
247
|
+
** Rails plugin:
|
248
|
+
*** Added ActiveLdap::VERSION check.
|
249
|
+
*** Added model_active_ldap generator.
|
250
|
+
*** Renamed scaffold_al generator to scaffold_active_ldap.
|
251
|
+
|
252
|
+
h2. 0.8.3
|
242
253
|
|
243
254
|
* Added AL-Admin Sample Rails app
|
244
255
|
* Added Ruby-GetText-Package support
|
@@ -247,36 +258,36 @@
|
|
247
258
|
* Improved performance
|
248
259
|
* Many bug fixes
|
249
260
|
|
250
|
-
|
261
|
+
h2. 0.8.2
|
251
262
|
|
252
263
|
* Added Net::LDAP support!
|
253
|
-
|
264
|
+
** supported SASL Digest-MD5 authentication with Net::LDAP.
|
254
265
|
* improved LDAP server support:
|
255
|
-
|
256
|
-
|
257
|
-
|
266
|
+
** improved Sun DS support.
|
267
|
+
** improved ActiveDirectory support. Thanks to Ernie Miller!
|
268
|
+
** improved Fedora-DS support. Thanks to Daniel Pfile!
|
258
269
|
* improved existing functions:
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
270
|
+
** improved DN handling. Thanks to James Hughes!
|
271
|
+
** improved SASL bind.
|
272
|
+
** improved old API check.
|
273
|
+
** improved schema handling. Thanks to Christoph Lipp!
|
274
|
+
** improved filter notification.
|
264
275
|
* updated documents:
|
265
|
-
|
266
|
-
|
267
|
-
|
276
|
+
** updated Rails realted documenation. Thanks to James Hughes!
|
277
|
+
** updated documentation for the changes between 0.7.1 and 0.8.0.
|
278
|
+
Thanks to Buzz Chopra!
|
268
279
|
* added new features:
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
280
|
+
** added scaffold_al generator for Rails.
|
281
|
+
** added required_classes to default filter value. Thanks to Jeff Hall!
|
282
|
+
** added :recommended_classes option to ldap_mapping.
|
283
|
+
** added :sort_by and :order options to find.
|
284
|
+
** added ActiveLdap::Base#to_param for ActionController.
|
274
285
|
* fixed some bugs:
|
275
|
-
|
276
|
-
|
277
|
-
|
286
|
+
** fixed rake install/uninstall.
|
287
|
+
** fixed typos. Thanks to Nobody!
|
288
|
+
** fixed required_classes initialization. Thanks to James Hughes!
|
278
289
|
|
279
|
-
|
290
|
+
h2. 0.8.1
|
280
291
|
|
281
292
|
* used Dependencies.load_paths.
|
282
293
|
* check whether attribute name is available or not.
|
@@ -294,7 +305,7 @@
|
|
294
305
|
* followed new API.
|
295
306
|
* removed a finished task: support Reloadable::Subclasses.
|
296
307
|
|
297
|
-
|
308
|
+
h2. 0.8.0
|
298
309
|
|
299
310
|
* Makefile/gemspec system replaced with Rakefile + Hoe
|
300
311
|
* Bugfix: Allow base to be empty
|
@@ -325,30 +336,30 @@
|
|
325
336
|
* make save!() raise EntryNotSaved exception
|
326
337
|
* to_xml()
|
327
338
|
* clear_active_connections!() -- Conn per class
|
328
|
-
|
339
|
+
** make @@active_connections and name them by
|
329
340
|
* base_class() (just return the ancestor)
|
330
341
|
* Separate ObjectClass changes to live in ActiveLDAP::ObjectClass
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
342
|
+
** add_objectclass
|
343
|
+
** remove_objectclass
|
344
|
+
** replace_objectclass
|
345
|
+
** disallow direct objectclass access?
|
335
346
|
* support ActiveRecord::Validations.
|
336
347
|
* support ActiveRecord::Callbacks.
|
337
348
|
* rename to ActiveLdap from ActiveLDAP to integrate RoR easily and enforce
|
338
349
|
many API changes.
|
339
350
|
|
340
|
-
|
351
|
+
h2. 0.7.4
|
341
352
|
|
342
353
|
* Bugfix: do not base LDAP::PrettyError on RuntimeError due to rescue evaluation.
|
343
354
|
* Bugfix: :return_objects was overriding :objects in find and find_all
|
344
355
|
* Rollup exception code into smaller space reusing similar code.
|
345
356
|
|
346
|
-
|
357
|
+
h2. 0.7.3
|
347
358
|
|
348
359
|
* Made has_many and belongs_to use :return_objects value
|
349
360
|
* Force generation of LDAP constants on import - currently broken
|
350
361
|
|
351
|
-
|
362
|
+
h2. 0.7.2
|
352
363
|
|
353
364
|
* Stopped overriding Conn.schema in ldap/schema - now use schema2
|
354
365
|
* Fix attributes being deleted when changing between objectclasses with shared attributes
|
@@ -371,14 +382,14 @@
|
|
371
382
|
* Added(*) a forking timeout using SIGALRM to interrupt handling.
|
372
383
|
* (*) Only works when RUBY_PLATFORM has "linux" in it
|
373
384
|
|
374
|
-
|
385
|
+
h2. 0.7.1
|
375
386
|
|
376
387
|
* Fix broken -W0 arg in activeldap.rb
|
377
388
|
* attribute_method=: '' and nil converted to ldap-pleasing [] values
|
378
389
|
* Added checks in write and search for connection down (to reconnect)
|
379
390
|
* Fixed broken idea of LDAP::err2string exceptions. Instead took errcodes from ldap.c in Ruby/LDAP.
|
380
391
|
|
381
|
-
|
392
|
+
h2. 0.7.0
|
382
393
|
|
383
394
|
* ConnectionError thrown from #initialize when there is no connection and retry limit was exceeded
|
384
395
|
* ConnectionError thrown when retries exceeded when no connection was created
|
@@ -399,7 +410,7 @@
|
|
399
410
|
* Added support for Base::connect(.., :password => String, ...) to avoid stupid Proc.new {'foo'} crap
|
400
411
|
* Add :store_password option. When this is set, :password is not cleared and :password_block is not re-evaluated on each rebind.
|
401
412
|
|
402
|
-
|
413
|
+
h2. 0.6.0
|
403
414
|
|
404
415
|
* Disallow blank DN attribute values on initialization
|
405
416
|
* Fix bug reported by Maik Schmidt regarding object creation
|
@@ -410,7 +421,7 @@
|
|
410
421
|
* Changes examples and tests to use "dc=localdomain"
|
411
422
|
* has_many() entries no longer return nil when empty
|
412
423
|
|
413
|
-
|
424
|
+
h2. 0.5.9
|
414
425
|
|
415
426
|
* Change default base to dc=localdomain (as per Debian default).
|
416
427
|
* schema2.rb:attr() now returns [] instead of '' when empty.
|
@@ -422,60 +433,60 @@
|
|
422
433
|
* Fixed broken creation of objects from anonymous classes.
|
423
434
|
* Fixed broken use of ldap_mapping with anonymous classes.
|
424
435
|
|
425
|
-
|
436
|
+
h2. 0.5.8: Bugfix galore
|
426
437
|
|
427
438
|
* Allow nil "prefix"
|
428
439
|
* Fixed the dup bug with Anonymous patch.
|
429
440
|
* (maybe) Fixed stale connection problems by attempting reconn/bind.
|
430
441
|
* Hiding redefine warnings (for now)
|
431
442
|
|
432
|
-
|
443
|
+
h2. 0.5.7
|
433
444
|
|
434
445
|
* Fixed the @data.default = [] bug that daniel@nightrunner.com pointed out
|
435
446
|
(and partially patched).
|
436
447
|
|
437
|
-
|
448
|
+
h2. 0.5.6
|
438
449
|
|
439
450
|
* Added support for foreign_key => 'dn' in has_many.
|
440
451
|
|
441
|
-
|
452
|
+
h2. 0.5.5
|
442
453
|
|
443
454
|
* Remove @@logger.debug entries during build
|
444
455
|
* Building -debug and regular gems and tarballs
|
445
456
|
|
446
|
-
|
457
|
+
h2. 0.5.4
|
447
458
|
|
448
459
|
* Added Base#import to streamline the Base.find and Base.find_all methods
|
449
|
-
|
450
|
-
|
460
|
+
** Speeds up find and find_all by not accessing LDAP multiple times
|
461
|
+
for data we already have.
|
451
462
|
* Added tests/benchmark which is a slightly modified version of excellent
|
452
463
|
benchmarking code contributed by
|
453
464
|
Ollivier Robert <roberto -_-AT-_- keltia.freenix.fr>.
|
454
465
|
|
455
|
-
|
466
|
+
h2. 0.5.3
|
456
467
|
|
457
468
|
* Changed attribute_method to send in associations
|
458
|
-
|
469
|
+
** fixes belongs_to (with local_kay) and inheritance around that
|
459
470
|
|
460
|
-
|
471
|
+
h2. 0.5.2
|
461
472
|
|
462
473
|
* Make sure values are .dup'd when they come from LDAP
|
463
474
|
|
464
|
-
|
475
|
+
h2. 0.5.1
|
465
476
|
|
466
|
-
* Changed Schema2#class_attributes to return {:must => [], :may => []}
|
477
|
+
* Changed Schema2#class_attributes to return @{:must => [], :may => []}@
|
467
478
|
* Fixed Base#must and Base#may to return with full SUPerclass requirements
|
468
479
|
|
469
|
-
|
480
|
+
h2. 0.5.0
|
470
481
|
|
471
482
|
* API CHANGE (as with all 0.x.0 changes) (towards ActiveRecord duck typing)
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
483
|
+
** Base#ldapattribute now always returns an array
|
484
|
+
** Base#ldapattribute(true) now returns a dup of an array, string, etc
|
485
|
+
when appropriate (old default) - This is just for convenience
|
486
|
+
** Base#ldapattribute returns the stored value, not just a .dup
|
487
|
+
** Associations methods return objects by default instead of just names.
|
488
|
+
Group.new('foo').members(false) will return names only.
|
489
|
+
** Base.connect returns true as one might expect
|
479
490
|
* Value validation and changing (binary, etc) occur prior to write, and
|
480
491
|
not immediately on attribute_method=(value).
|
481
492
|
* Attribute method validity is now determined /on-the-fly/.
|
@@ -495,122 +506,130 @@
|
|
495
506
|
This also makes it possible to "break" objects by removing the 'top'
|
496
507
|
objectclass and therefore the #objectClass method...
|
497
508
|
|
498
|
-
|
509
|
+
h2. 0.4.4
|
499
510
|
|
500
511
|
* Fixed binary subtype forcing:
|
501
|
-
|
512
|
+
** was setting data as subtype ;binary even when not required
|
502
513
|
* Added first set of unit tests.
|
503
|
-
|
514
|
+
** These will be cleaned up in later releases as more tests are added.
|
504
515
|
* Fixed subtype clobber non-subtype (unittest!)
|
505
|
-
|
516
|
+
** cn and cn;lang-blah: the last loaded won
|
506
517
|
* Fixed multivalued subtypes from being shoved into a string (unittest!)
|
507
|
-
|
518
|
+
** an error with attribute_input_value
|
508
519
|
|
509
|
-
|
520
|
+
h2. 0.4.3
|
510
521
|
|
511
522
|
* Fixed write (add) bugs introduced with last change
|
512
|
-
|
523
|
+
** only bug fixes until unittests are in place
|
513
524
|
|
514
|
-
|
525
|
+
h2. 0.4.2
|
515
526
|
|
516
527
|
* Added ruby-activeldap.gemspec
|
517
528
|
* Integrated building a gem of 'ruby-activeldap' into Makefile.package
|
518
529
|
* Added attr parsing cache to speed up repetitive calls: approx 13x speedup
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
530
|
+
** 100 usermod-binary-add calls
|
531
|
+
|
532
|
+
<pre>
|
533
|
+
!!!plain
|
534
|
+
Without attr parsing cache:
|
535
|
+
real 13m53.129s
|
536
|
+
user 13m11.350s
|
537
|
+
sys 0m7.030s
|
538
|
+
With attr parsing cache:
|
539
|
+
real 1m0.416s
|
540
|
+
user 0m28.390s
|
541
|
+
sys 0m2.380s
|
542
|
+
</pre>
|
543
|
+
|
544
|
+
h2. 0.4.1:
|
531
545
|
|
532
546
|
* Schema2 was not correctly parsing objectClass entries.
|
533
|
-
|
547
|
+
** This is fixed for now but must be revisited.
|
534
548
|
|
535
|
-
|
549
|
+
h2. 0.4.0
|
536
550
|
|
537
551
|
* Added #<attribute>(arrays) argument which when true
|
538
552
|
always returns arrays. e.g.
|
539
|
-
|
540
|
-
|
553
|
+
|
554
|
+
<pre>
|
555
|
+
!!!plain
|
556
|
+
irb> user.cn(true)
|
557
|
+
=> ['My Common Name']
|
558
|
+
</pre>
|
559
|
+
|
541
560
|
This makes things easier for larger programming tasks.
|
542
561
|
* Added subtype support:
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
562
|
+
** Uses Hash objects to specify the subtype
|
563
|
+
e.g. @user.userCertificate = {'binary' => File.read('mycert.der')}@
|
564
|
+
** Added recursive type enforcement along with the subtype handling
|
565
|
+
** This required overhauling the #write method.
|
566
|
+
*** Please report any problems ASAP! :^)
|
548
567
|
* Added automagic binary support
|
549
|
-
|
550
|
-
|
568
|
+
** subtype wrapping done automatically
|
569
|
+
** relies on X-NOT-HUMAN-READABLE flag
|
551
570
|
* Added LDAP::Schema2 which is an extension of Ruby/LDAP::Schema
|
552
|
-
|
571
|
+
** made Schema#attr generic for easy type dereferencing
|
553
572
|
* Updated rdoc in activeldap.rb
|
554
573
|
* Updated examples (poorly) to reflect new functionality
|
555
574
|
* Added several private helper functions
|
556
575
|
|
557
|
-
|
576
|
+
h2. 0.3.6
|
558
577
|
|
559
578
|
* Fixed dn attribute value extraction on find and find_all
|
560
|
-
|
561
|
-
|
579
|
+
** these may have grabbed the wrong value if a DN attr has
|
580
|
+
multiple values.
|
562
581
|
* Fixed Base.search to return all values as arrays and update
|
563
582
|
multivalued ones correctly
|
564
583
|
* Lowered the amount of default logging to FATAL only
|
565
584
|
|
566
|
-
|
585
|
+
h2. 0.3.5
|
567
586
|
|
568
587
|
* Moved to rubyforge.org!
|
569
588
|
|
570
|
-
|
589
|
+
h2. 0.3.4
|
571
590
|
|
572
591
|
* Changed license to Ruby's
|
573
592
|
|
574
|
-
|
593
|
+
h2. 0.3.3
|
575
594
|
|
576
595
|
* Changed Base.search to return an array instead of a hash of hashes
|
577
596
|
* Change Base.search to take in a hash as its arguments
|
578
597
|
|
579
|
-
|
598
|
+
h2. 0.3.2
|
580
599
|
|
581
600
|
* Bug fix - fixed support for module'd extension classes (again!)
|
582
601
|
|
583
|
-
|
602
|
+
h2. 0.3.1
|
584
603
|
|
585
604
|
* Updated the documentation
|
586
605
|
* Fixed ignoring of attrs argument in Base.search
|
587
606
|
* Fixed mistake in groupls (using dnattr directly)
|
588
607
|
* Fixed a mistake with overzealous dup'ing
|
589
608
|
|
590
|
-
|
609
|
+
h2. 0.3.0
|
591
610
|
|
592
611
|
* MORE API CHANGES (configuration.rb, etc)
|
593
612
|
* Major overhaul to the internals!
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
613
|
+
** removed @@BLAH[@klass] in lieu of defining
|
614
|
+
class methods which contain the required values. This
|
615
|
+
allows for clean inheritance of Base subclasses! Whew!
|
616
|
+
** Added @@config to store the options currently in use
|
617
|
+
after a Base.connect
|
618
|
+
** Now cache passwords for doing reconnects
|
619
|
+
** dnattr now accessible to the outside as a class method only
|
601
620
|
* Added Base.search to wrap normal LDAP search for convenience.
|
602
|
-
|
603
|
-
|
621
|
+
** This returns a hash of hashes with the results indexed first by
|
622
|
+
full dn, then by attribute.
|
604
623
|
|
605
|
-
|
624
|
+
h2. 0.2.0
|
606
625
|
|
607
626
|
* API CHANGES:
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
627
|
+
** Extension classes must be defined using map_to_ldap instead of setting
|
628
|
+
random values in initialize
|
629
|
+
** Base#find is now Base.find_all and is a class method
|
630
|
+
** Base.find returns the first match a la Array#find
|
631
|
+
** force_reload is gone in belongs_to and has_many created methods
|
632
|
+
** hiding Base.new, Base.find, and Base.find_all from direct access
|
614
633
|
* added uniq to setting objectClass to avoid stupid errors
|
615
634
|
* fixed new object creation bug where attributes were added before the
|
616
635
|
objectclass resulting in a violation (Base#write)
|
@@ -624,48 +643,48 @@
|
|
624
643
|
* Base.connect(:try_sasl => true) should now work with GSSAPI if you are
|
625
644
|
using OpenLDAP >= 2.1.29
|
626
645
|
|
627
|
-
|
646
|
+
h2. 0.1.8
|
628
647
|
|
629
648
|
* .dup all returned attribute values to avoid weirdness
|
630
649
|
* .dup all assigned values to avoid weirdness
|
631
650
|
* Changed default configuration.rb to use example.com
|
632
651
|
|
633
|
-
|
652
|
+
h2. 0.1.7
|
634
653
|
|
635
654
|
* Added support for non-unique DN attributes
|
636
655
|
* Added authoritative DN retrieval with 'object.dn'
|
637
656
|
|
638
|
-
|
657
|
+
h2. 0.1.6
|
639
658
|
|
640
659
|
* Added Base.close method for clearing the existing connection (despite Ruby/LDAP's lack of .close)
|
641
660
|
|
642
|
-
|
661
|
+
h2. 0.1.5
|
643
662
|
|
644
663
|
* Fixed incorrect usage of @klass in .find (should .find be a class method?)
|
645
664
|
|
646
|
-
|
665
|
+
h2. 0.1.4
|
647
666
|
|
648
667
|
* Change WARN to INFO in associations.rb for has_many
|
649
668
|
|
650
|
-
|
669
|
+
h2. 0.1.3
|
651
670
|
|
652
671
|
* Fixed class name mangling
|
653
672
|
* Added support for classes to take DNs as the initialization value
|
654
673
|
|
655
|
-
|
674
|
+
h2. 0.1.2
|
656
675
|
|
657
676
|
* Patch from Dick Davies: Try SSL before TLS
|
658
677
|
* Log4r support
|
659
678
|
* Better packaging (automated)
|
660
679
|
* Work-around for SSL stupidity
|
661
|
-
|
680
|
+
** SSLConn doesn't check if the port it connected to is really using SSL!
|
662
681
|
|
663
|
-
|
682
|
+
h2. 0.1.1
|
664
683
|
|
665
684
|
* Dynamic table class creation
|
666
685
|
* SASL/GSSAPI disabled by default - doesn't work consistently
|
667
686
|
|
668
|
-
|
687
|
+
h2. 0.1.0
|
669
688
|
|
670
689
|
* Added foreign_key to has_many
|
671
690
|
* Added local_key to belongs_to
|
@@ -674,48 +693,48 @@
|
|
674
693
|
* Packaged up with setup.rb
|
675
694
|
* Added RDocs and better comments
|
676
695
|
|
677
|
-
|
696
|
+
h2. 0.0.9
|
678
697
|
|
679
698
|
* Separated extension classes from ActiveLDAP module
|
680
699
|
* Cleaned up examples with new requires
|
681
700
|
|
682
|
-
|
701
|
+
h2. 0.0.8
|
683
702
|
|
684
703
|
* Added user and group scripting examples
|
685
|
-
|
686
|
-
|
704
|
+
** usermod, userls, useradd, userdel
|
705
|
+
** groupmod, groupls
|
687
706
|
|
688
|
-
|
707
|
+
h2. 0.0.7
|
689
708
|
|
690
709
|
* Cleaner authentication loop:
|
691
|
-
|
710
|
+
** SASL (GSSAPI only), simple, anonymous
|
692
711
|
* Added allow_anonymous option added (default: false)
|
693
712
|
|
694
|
-
|
713
|
+
h2. 0.0.6
|
695
714
|
|
696
715
|
* Write support cleaned up
|
697
716
|
* Exception classes added
|
698
717
|
|
699
|
-
|
718
|
+
h2. 0.0.5
|
700
719
|
|
701
720
|
* LDAP write support added
|
702
721
|
|
703
|
-
|
722
|
+
h2. 0.0.4
|
704
723
|
|
705
724
|
* MUST and MAY data validation against schema using objectClasses
|
706
725
|
|
707
|
-
|
726
|
+
h2. 0.0.3
|
708
727
|
|
709
728
|
* LDAP attributes alias resolution and data mapping
|
710
729
|
|
711
|
-
|
730
|
+
h2. 0.0.2
|
712
731
|
|
713
732
|
* Associations: has_many and belongs_to Class methods added for Base
|
714
733
|
|
715
|
-
|
734
|
+
h2. 0.0.1
|
716
735
|
|
717
736
|
* Extension approach in place with example User and Group classes
|
718
737
|
|
719
|
-
|
738
|
+
h2. 0.0.0
|
720
739
|
|
721
740
|
* Basic LDAP read support in place with hard-coded OUs
|