diff --git a/ChangeLog b/ChangeLog index 802ce37d..2c5b1751 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2008-09-14 Nicolas François + + * src/useradd.c: Added missing declaration of Mflg. + * src/pwck.c: Only unlock files if they were locked before (e.g. + not in read-only mode). + * src/pwck.c: Quote the username in error messages (harmonization + with other messages). + * libmisc/find_new_gid.c: Fixed typo (s/grp->gr_gid/group_id/). + * libmisc/find_new_gid.c: Likewise. + 2008-09-13 Nicolas François * libmisc/setugid.c, src/login_nopam.c, src/suauth.c, diff --git a/libmisc/find_new_gid.c b/libmisc/find_new_gid.c index 85e00d3e..0201ebdf 100644 --- a/libmisc/find_new_gid.c +++ b/libmisc/find_new_gid.c @@ -109,7 +109,7 @@ int find_new_gid (bool sys_group, gid_t *gid, gid_t const *preferred_gid) */ if (group_id == gid_max + 1) { for (group_id = gid_min; group_id < gid_max; group_id++) { - if (0 == used_gids[grp->gr_gid]) { + if (0 == used_gids[group_id]) { break; } } diff --git a/libmisc/find_new_uid.c b/libmisc/find_new_uid.c index f4efb9f8..90918b40 100644 --- a/libmisc/find_new_uid.c +++ b/libmisc/find_new_uid.c @@ -110,7 +110,7 @@ int find_new_uid (bool sys_user, uid_t *uid, uid_t const *preferred_uid) */ if (user_id == uid_max + 1) { for (user_id = uid_min; user_id < uid_max; user_id++) { - if (0 == used_uids[pwd->pw_uid]) { + if (0 == used_uids[user_id]) { break; } } diff --git a/src/pwck.c b/src/pwck.c index 5b1704cf..cb695ae2 100644 --- a/src/pwck.c +++ b/src/pwck.c @@ -267,7 +267,7 @@ static void close_files (bool changed) /* * Don't be anti-social - unlock the files when you're done. */ - if (is_shadow) { + if (spw_locked) { if (spw_unlock () == 0) { fprintf (stderr, _("%s: failed to unlock %s\n"), Prog, spw_dbname ()); SYSLOG ((LOG_ERR, "failed to unlock %s", spw_dbname ())); @@ -275,10 +275,12 @@ static void close_files (bool changed) } } spw_locked = false; - if (pw_unlock () == 0) { - fprintf (stderr, _("%s: failed to unlock %s\n"), Prog, pw_dbname ()); - SYSLOG ((LOG_ERR, "failed to unlock %s", pw_dbname ())); - /* continue */ + if (pw_locked) { + if (pw_unlock () == 0) { + fprintf (stderr, _("%s: failed to unlock %s\n"), Prog, pw_dbname ()); + SYSLOG ((LOG_ERR, "failed to unlock %s", pw_dbname ())); + /* continue */ + } } pw_locked = false; } @@ -403,7 +405,7 @@ static void check_pw_file (int *errors, bool *changed) * No primary group, just give a warning */ - printf (_("user %s: no group %lu\n"), + printf (_("user '%s': no group %lu\n"), pwd->pw_name, (unsigned long) pwd->pw_gid); *errors += 1; } diff --git a/src/useradd.c b/src/useradd.c index 5f9a01b7..a8a7b32e 100644 --- a/src/useradd.c +++ b/src/useradd.c @@ -135,6 +135,7 @@ static bool kflg = false, /* specify a directory to fill new user directory */ lflg = false, /* do not add user to lastlog/faillog databases */ mflg = false, /* create user's home directory if it doesn't exist */ + Mflg = false, /* do not create user's home directory even if CREATE_HOME is set */ Nflg = false, /* do not create a group having the same name as the user, but add the user to def_group (or the group specified with -g) */ oflg = false, /* permit non-unique user ID to be specified with -u */ rflg = false, /* create a system account */