The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Perl extension Unix-Passwd-File

0.10     2012-09-06 (SHARYANTO)

         Use Crypt::Password::Util's crypt() to create encrypted password in a
         more portable way.


0.09     2012-09-06 (SHARYANTO)

         No functional changes. Use Crypt::Password::Util to check encrypted
         password because different OS'es use different crypt.


0.08     2012-09-05 (SHARYANTO)

         - Add function: set_user_groups().


0.07     2012-09-05 (SHARYANTO)

         - Add function: add_delete_user_groups().


0.06     2012-09-01 (SHARYANTO)

         [ENHANCEMENTS]

         - Allow adding user with non-unique UID.

         - Allow adding group with non-unique GID.


0.05     2012-08-31 (SHARYANTO)

         [ENHANCEMENTS]

         - Add function: list_users_and_groups().

         - Add some overview information about the module.


0.04     2012-08-31 (SHARYANTO)

         [ENHANCEMENTS]

         - add_user(): Add option 'group' to allow setting primary group that is
           not the same as group with the same name as user (e.g.
           add_user(user=>'nobody', group=>'nogroup')). The group (in this case,
           'nogroup') must already exist.


0.03     2012-08-31 (SHARYANTO)

         - Convert several package-lexical variables into package variables
           (our) to make it accessible from other packages.

         - Update examples in Synopsis.


0.02     2012-08-31 (SHARYANTO)

         [ENHANCEMENTS]

         - Implement modify_user(), modify_group(), delete_user(),
           delete_group(), set_user_password(), add_user_to_group(),
           delete_user_from_group().

         - Add functions: is_member(), user_exists(), group_exists(),
           get_user_groups().


0.01     2012-08-30 (SHARYANTO)

         First release. I created a new module instead of using
         Passwd::Unix::Alt mainly because of these reasons: 1) got tired of
         having to input passwd, shadow, group, gshadow separately; with
         Unix::Passwd::File I just need to specify etc_dir; 2) I didn't get
         locking to work, something which I think is important and I'd rather
         start with a clean codebase to make sure this and other things work; 3)
         want a cleaner interface, without any global error variable.

         This release does not include some functions yet: modify_user(),
         modify_group(), delete_user(), delete_group(), set_user_password(),
         add_user_to_group(), delete_user_from_group().