Revision history for Net-LDAP-Class
0.01 10 July 2008
First version, released on an unsuspecting world.
0.02 10 July 2008
* fix Makefile.PL to include Net::LDAP::Batch dependency.
0.03 11 July 2008
* replace Scalar::Util::Clone with Clone (5.10 issue?)
0.04 21 July 2008
* explicitly ask for meta->attributes whenever we search
* add add_to_batch() and prev_batch() methods and refactor
how rollback() works.
* fix bug, renaming unique_keys to unique_attributes in a few
leftover places.
* add Active Directory classes for User and Group
0.05 22 July 2008
* switch logic for AD User/Group to use Group->member as primary
setting.
* add a bunch of AD User attributes
* get AD password set working
* new object_or_meta_class() method type; switch attributes(),
base_dn() and unique_attribues() in base Class to use it instead
of defaulting to meta->$name. This means you can override any of
those values per-object, but they default to those set in the object
class meta object.
0.06 23 July 2008
* simplify encoding/decoding of AD password (no Encode required)
0.07 31 July 2008
* refer everywhere internally in ::User::AD to ->gid instead
of primaryGroupID() so that the attribute can be disabled in subclasses.
* use ->attributes instead of ->meta->attributes everywhere internally
* if fetch_* methods return undef from find() then return empty array(ref)
* force random_string() to be a little more random
* refactor ::User::AD objectSID code into its own functions
0.08 12 Aug 2008
* check return result from Net::LDAP search() in find() and croak on error.
* fix bug with action_for_delete() in ::Group::POSIX that manifested
when trying to rename a group. New feature is 'skip_check' to skip
the sanity check for whether a group still has users.
0.09 21 Aug 2008
* change from meta() to metadata() at mst's request. Should help with
Moose compatability.
* added validate() method
0.10 26 Sept 2008
* tweek list of possible_chars in random_string generation
0.11 13 Oct 2008
* fix User::AD so that password can be set in single action.
* fix User::AD so that add_to_group() can be called before initial creation.
* only set groups in User::AD create if there are any,
since AD will croak if memberOf is set to empty array.
0.12 15 Oct 2008
* refactor action_for_create in POSIX and AD user classes to also
set non-default attributes that might have been set prior to calling create().
0.13 16 Oct 2008
* add has_user() convenience method in base Group class
* fix bug in AD::User where secondary groups were not being saved on create()
* explicitly pass base_dn in AD::Group fetch_*_users()
0.14 3 Nov 2008
* fix bug with create action in both User subclasses where some attrs were not being respected
0.15 6 Nov 2008
* escape () in DN value in Group::AD since user DN might have () marks in it (though this is *bad* practice)
0.16 22 Nov 2008
* fix overload for Test::More 0.86
0.17 16 Jan 2009
* add Loader tests
* fix bug when setting name and email for both AD and POSIX. Bug was
equivalent to ||= instead of //= since an empty string is different
than undef. Allows for setting the value to an empty string.
* new method has_local_changes()
0.18_01 23 Jan 2009
* turn on some debugging to pinpoint cpan test failures
0.18_02 26 Jan 2009
* add POD that some versions of Pod::Coverage seem to need.
0.18_03 27 Jan 2009
* add more debugging to trace the 'no such group in AD server: 101 at t/002-ad.t line 99' failure.
* add act_on_all() utility method
0.18 5 Mar 2009
* refactor random SHA1 seed generation to speed it up.
* add save() method
* add ldap option to act_on_all() to allow calling as class method.
* group->name a setter as well as getter
* default User::AD DN now based on username plus human name, to help enforce uniqueness.
This allows for the same human to have multiple accounts in the same OU.
0.19 10 Aug 2009
* tweek N::L::C::G::AD per https://rt.cpan.org/Ticket/Display.html?id=48562
* add isa_user() and isa_group() methods to base class per same RT ticket.
0.20 26 Aug 2009
* add Iterator, SimpleIterator and MultiIterator classes and supporting methods.
Thanks to Peter Newman for dialogue on the development of the iterator feature.
See https://rt.cpan.org/Ticket/Display.html?id=48562
* fix overloading for boolean checks when stringify() evaluates false (emptry string, e.g.)
0.21 26 Aug 2009
* change fetch_secondary_users() in both Group::AD and Group::POSIX to just wrap around
secondary_users_iterator().
0.22 14 Sep 2009
* add pswd_will_expire_localtime to User::AD
* remove init_user_class and init_group_class overrides in subclasses,
to prevent masking the fact that you must create your own subclass.
0.23 24 Nov 2009
* add explicit unbind() calls in tests per RT #52037
0.24 29 Nov 2009
* flag some AD tests as TODO until the pack/unpack issue with SIDs can be ironed out.
It only seems to affect Net::LDAP::Server::Test, not actual AD servers.