* src/pwunconv.c: Report failure to unlock the passwd or shadow

file to stderr and syslog.
This commit is contained in:
nekral-guest 2008-08-07 08:03:55 +00:00
parent 501ae11f51
commit 85bc9c1d1a
2 changed files with 29 additions and 8 deletions

View File

@ -1,12 +1,17 @@
2008-08-07 Nicolas François <nicolas.francois@centraliens.net>
* src/usermod.c: Report failure to unlock the passwd or shadow
* src/pwunconv.c: Report failure to unlock the passwd or shadow
file to stderr and syslog.
2008-08-07 Nicolas François <nicolas.francois@centraliens.net>
* src/newusers.c: Report failure to unlock the passwd or shadow
file to stderr and syslog.
* src/usermod.c: Report failure to unlock files to stderr and
syslog.
2008-08-07 Nicolas François <nicolas.francois@centraliens.net>
* src/newusers.c: Report failure to unlock files to stderr and
syslog.
* src/newusers.c: In case of error when files are open or closed,
indicate the failing file.
* src/newusers.c: Do not try to unlock the files manually since

View File

@ -51,15 +51,23 @@ static bool shadow_locked = false;
static bool passwd_locked = false;
/* local function prototypes */
static void fail_exit (int);
static void fail_exit (int status);
static void fail_exit (int status)
{
if (shadow_locked) {
spw_unlock ();
if (spw_unlock () == 0) {
fprintf (stderr, _("%s: failed to unlock %s\n"), Prog, spw_dbname ());
SYSLOG ((LOG_ERR, "failed to unlock %s", spw_dbname ()));
/* continue */
}
}
if (passwd_locked) {
pw_unlock ();
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 */
}
}
exit (status);
}
@ -164,8 +172,16 @@ int main (int argc, char **argv)
fail_exit (3);
}
spw_unlock ();
pw_unlock ();
if (spw_unlock () == 0) {
fprintf (stderr, _("%s: failed to unlock %s\n"), Prog, spw_dbname ());
SYSLOG ((LOG_ERR, "failed to unlock %s", spw_dbname ()));
/* continue */
}
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 */
}
nscd_flush_cache ("passwd");