+2008-08-17 Nicolas François <nicolas.francois@centraliens.net>
+
+ * src/chage.c, src/chgpasswd.c, src/chpasswd.c, src/chsh.c,
+ src/gpasswd.c, src/groupadd.c, src/groupdel.c, src/groupmems.c,
+ src/groupmod.c, src/grpck.c, src/grpconv.c, src/grpunconv.c,
+ src/newusers.c, src/passwd.c, src/pwck.c, src/pwconv.c,
+ src/pwunconv.c, src/useradd.c, src/userdel.c, src/usermod.c: In
+ case of a lock failure, indicate to the user that she can try
+ again later. Do not log to syslog.
+
2008-08-17 Nicolas François <nicolas.francois@centraliens.net>
* NEWS, src/passwd.c: For compatibility with other passwd version,
* file entries into memory. Then we get a pointer to the password
* file entry for the requested user.
*/
- if (!readonly && (pw_lock () == 0)) {
- fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, pw_dbname ());
- SYSLOG ((LOG_ERR, "cannot lock %s", pw_dbname ()));
- fail_exit (E_NOPERM);
- }
if (!readonly) {
+ if (pw_lock () == 0) {
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, pw_dbname ());
+ fail_exit (E_NOPERM);
+ }
pw_locked = true;
}
if (pw_open (readonly ? O_RDONLY: O_RDWR) == 0) {
* does not have to exist in this case; a new entry will be created
* for this user if one does not exist already.
*/
- if (!readonly && (spw_lock () == 0)) {
- fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, spw_dbname ());
- SYSLOG ((LOG_ERR, "cannot lock %s", spw_dbname ()));
- fail_exit (E_NOPERM);
- }
if (!readonly) {
+ if (spw_lock () == 0) {
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, spw_dbname ());
+ fail_exit (E_NOPERM);
+ }
spw_locked = true;
}
if (spw_open (readonly ? O_RDONLY: O_RDWR) == 0) {
*/
if (gr_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, gr_dbname ());
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, gr_dbname ());
fail_exit (1);
}
group_locked = true;
/* Do the same for the shadowed database, if it exist */
if (is_shadow_grp) {
if (sgr_lock () == 0) {
- fprintf (stderr, _("%s: cannot lock %s\n"),
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
Prog, sgr_dbname ());
fail_exit (1);
}
*/
if (pw_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, pw_dbname ());
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, pw_dbname ());
fail_exit (1);
}
passwd_locked = true;
if (is_shadow_pwd) {
if (spw_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"),
+ _("%s: cannot lock %s; try again later.\n"),
Prog, spw_dbname ());
fail_exit (1);
}
if (pw_lock () == 0) {
fprintf (stderr, _("%s: cannot lock %s; try again later.\n"),
Prog, pw_dbname ());
- SYSLOG ((LOG_WARN, "cannot lock %s", pw_dbname ()));
fail_exit (1);
}
pw_locked = true;
static void open_files (void)
{
if (gr_lock () == 0) {
- fprintf (stderr, _("%s: cannot lock %s\n"), Prog, gr_dbname ());
- SYSLOG ((LOG_WARN, "cannot lock %s", gr_dbname ()));
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, gr_dbname ());
#ifdef WITH_AUDIT
audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
"locking /etc/group",
if (is_shadowgrp) {
if (sgr_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, sgr_dbname ());
- SYSLOG ((LOG_WARN, "cannot lock %s", sgr_dbname ()));
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, sgr_dbname ());
#ifdef WITH_AUDIT
audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
"locking /etc/gshadow",
static void open_files (void)
{
if (gr_lock () == 0) {
- fprintf (stderr, _("%s: cannot lock %s\n"), Prog, gr_dbname ());
- SYSLOG ((LOG_WARN, "cannot lock %s", gr_dbname ()));
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, gr_dbname ());
#ifdef WITH_AUDIT
audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
"locking group file",
if (is_shadow_grp) {
if (sgr_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, sgr_dbname ());
- SYSLOG ((LOG_WARN, "cannot lock %s", sgr_dbname ()));
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, sgr_dbname ());
#ifdef WITH_AUDIT
audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
"locking gshadow file",
{
if (gr_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, gr_dbname ());
- SYSLOG ((LOG_WARN, "cannot lock %s",gr_dbname ()));
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, gr_dbname ());
fail_exit (E_GRP_UPDATE);
}
group_locked = true;
if (is_shadow_grp) {
if (sgr_lock () == 0)) {
fprintf (stderr,
- _("%s: cannot lock %s\n"),
+ _("%s: cannot lock %s; try again later.\n"),
Prog, sgr_dbname ());
- SYSLOG ((LOG_WARN, "cannot lock %s", sgr_dbname ()));
fail_exit (E_GRP_UPDATE);
}
gshadow_locked = true;
if (gr_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"),
+ _("%s: cannot lock %s; try again later.\n"),
Prog, gr_dbname ());
fail_exit (EXIT_GROUP_FILE);
}
static void open_files (void)
{
if (gr_lock () == 0) {
- fprintf (stderr, _("%s: cannot lock %s\n"), Prog, gr_dbname ());
- SYSLOG ((LOG_WARN, "cannot lock %s", gr_dbname ()));
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, gr_dbname ());
fail_exit (E_GRP_UPDATE);
}
group_locked = true;
if (is_shadow_grp) {
if (sgr_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"),
+ _("%s: cannot lock %s; try again later.\n"),
Prog, sgr_dbname ());
- SYSLOG ((LOG_WARN, "cannot lock %s", sgr_dbname ()));
fail_exit (E_GRP_UPDATE);
}
gshadow_locked = true;
if (gflg) {
if (pw_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"),
+ _("%s: cannot lock %s; try again later.\n"),
Prog, pw_dbname ());
- SYSLOG ((LOG_WARN, "cannot lock %s", pw_dbname ()));
fail_exit (E_GRP_UPDATE);
}
passwd_locked = true;
*/
if (!read_only) {
if (gr_lock () == 0) {
- fprintf (stderr, _("%s: cannot lock %s\n"),
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
Prog, grp_file);
- if (use_system_grp_file) {
- SYSLOG ((LOG_WARN, "cannot lock %s", grp_file));
- }
closelog ();
exit (E_CANT_LOCK);
}
#ifdef SHADOWGRP
if (is_shadow && (sgr_lock () == 0)) {
- fprintf (stderr, _("%s: cannot lock %s\n"),
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
Prog, sgr_file);
- if (use_system_sgr_file) {
- SYSLOG ((LOG_WARN, "cannot lock %s", sgr_file));
- }
closelog ();
exit (E_CANT_LOCK);
}
(void) textdomain (PACKAGE);
if (gr_lock () == 0) {
- fprintf (stderr, _("%s: cannot lock %s\n"), Prog, gr_dbname ());
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, gr_dbname ());
fail_exit (5);
}
group_locked = true;
}
if (sgr_lock () == 0) {
- fprintf (stderr, _("%s: cannot lock %s\n"), Prog, sgr_dbname ());
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, sgr_dbname ());
fail_exit (5);
}
gshadow_locked = true;
if (gr_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, gr_dbname ());
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, gr_dbname ());
fail_exit (5);
}
group_locked = true;
if (sgr_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, sgr_dbname ());
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, sgr_dbname ());
fail_exit (5);
}
gshadow_locked = true;
* it gets locked, assume the others can be locked right away.
*/
if (pw_lock () == 0) {
- fprintf (stderr, _("%s: cannot lock %s\n"), Prog, pw_dbname ());
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, pw_dbname ());
fail_exit (1);
}
passwd_locked = true;
if (is_shadow && (spw_lock () == 0)) {
- fprintf (stderr, _("%s: cannot lock %s\n"), Prog, spw_dbname ());
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, spw_dbname ());
fail_exit (1);
}
shadow_locked = true;
if (gr_lock () == 0) {
- fprintf (stderr, _("%s: cannot lock %s\n"), Prog, gr_dbname ());
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, gr_dbname ());
fail_exit (1);
}
group_locked = true;
#ifdef SHADOWGRP
if (is_shadow_grp && (sgr_lock () == 0)) {
- fprintf (stderr, _("%s: cannot lock %s\n"), Prog, sgr_dbname ());
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, sgr_dbname ());
fail_exit (1);
}
gshadow_locked = true;
fprintf (stderr,
_("%s: cannot lock %s; try again later.\n"),
Prog, pw_dbname ());
- SYSLOG ((LOG_WARN, "cannot lock %s", pw_dbname ()));
exit (E_PWDBUSY);
}
if (pw_open (O_RDWR) == 0) {
fprintf (stderr,
_("%s: cannot lock %s; try again later.\n"),
Prog, spw_dbname ());
- SYSLOG ((LOG_WARN, "cannot lock %s", spw_dbname ()));
exit (E_PWDBUSY);
}
if (spw_open (O_RDWR) == 0) {
*/
if (!read_only) {
if (pw_lock () == 0) {
- fprintf (stderr, _("%s: cannot lock %s\n"),
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
Prog, pwd_file);
- if (use_system_pw_file) {
- SYSLOG ((LOG_WARN, "cannot lock %s", pwd_file));
- }
fail_exit (E_CANTLOCK);
}
pw_locked = true;
if (is_shadow) {
if (spw_lock () == 0) {
- fprintf (stderr, _("%s: cannot lock %s\n"),
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
Prog, spw_file);
- if (use_system_spw_file) {
- SYSLOG ((LOG_WARN, "cannot lock %s", spw_file));
- }
fail_exit (E_CANTLOCK);
}
spw_locked = true;
if (pw_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, pw_dbname ());
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, pw_dbname ());
fail_exit (E_PWDBUSY);
}
passwd_locked = true;
if (spw_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, spw_dbname ());
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, spw_dbname ());
fail_exit (E_PWDBUSY);
}
shadow_locked = true;
if (pw_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"),
+ _("%s: cannot lock %s; try again later.\n"),
Prog, pw_dbname ());
fail_exit (5);
}
if (spw_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"),
+ _("%s: cannot lock %s; try again later.\n"),
Prog, spw_dbname ());
fail_exit (5);
}
static void open_files (void)
{
if (pw_lock () == 0) {
- fprintf (stderr, _("%s: cannot lock %s\n"), Prog, pw_dbname ());
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, pw_dbname ());
exit (E_PW_UPDATE);
}
passwd_locked = true;
if (is_shadow_pwd) {
if (spw_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"),
+ _("%s: cannot lock %s; try again later.\n"),
Prog, spw_dbname ());
fail_exit (E_PW_UPDATE);
}
* Lock and open the group file.
*/
if (gr_lock () == 0) {
- fprintf (stderr, _("%s: cannot lock %s\n"), Prog, gr_dbname ());
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, gr_dbname ());
fail_exit (E_GRP_UPDATE);
}
group_locked = true;
if (is_shadow_grp) {
if (sgr_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"),
+ _("%s: cannot lock %s; try again later.\n"),
Prog, sgr_dbname ());
fail_exit (E_GRP_UPDATE);
}
static void open_files (void)
{
if (pw_lock () == 0) {
- fprintf (stderr, _("%s: cannot lock %s\n"), Prog, pw_dbname ());
+ fprintf (stderr,
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, pw_dbname ());
#ifdef WITH_AUDIT
audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
"locking password file",
if (is_shadow_pwd) {
if (spw_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, spw_dbname ());
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, spw_dbname ());
#ifdef WITH_AUDIT
audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
"locking shadow password file",
shadow_locked = true;
if (spw_open (O_RDWR) == 0) {
fprintf (stderr,
- _("%s: cannot open %s\n"), Prog, spw_dbname ());
+ _("%s: cannot open %s\n"),
+ Prog, spw_dbname ());
#ifdef WITH_AUDIT
audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
"opening shadow password file",
}
if (gr_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, gr_dbname ());
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, gr_dbname ());
#ifdef WITH_AUDIT
audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
"locking group file",
if (is_shadow_grp) {
if (sgr_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, sgr_dbname ());
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, sgr_dbname ());
#ifdef WITH_AUDIT
audit_logger (AUDIT_USER_CHAUTHTOK, Prog,
"locking shadow group file",
{
if (pw_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, pw_dbname ());
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, pw_dbname ());
fail_exit (E_PW_UPDATE);
}
pw_locked = true;
}
if (is_shadow_pwd && (spw_lock () == 0)) {
fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, spw_dbname ());
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, spw_dbname ());
fail_exit (E_PW_UPDATE);
}
spw_locked = true;
*/
if (gr_lock () == 0) {
fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, gr_dbname ());
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, gr_dbname ());
fail_exit (E_GRP_UPDATE);
}
gr_locked = true;
#ifdef SHADOWGRP
if (is_shadow_grp && (sgr_lock () == 0)) {
fprintf (stderr,
- _("%s: cannot lock %s\n"), Prog, sgr_dbname ());
+ _("%s: cannot lock %s; try again later.\n"),
+ Prog, sgr_dbname ());
fail_exit (E_GRP_UPDATE);
}
sgr_locked = true;