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
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.
0.25 17 Feb 2010
- rewrite of internal _sid2string() and _string2sid() pack/unpack magic. Many thanks
to David Lowe for the help.
0.26 22 Feb 2011