]> granicus.if.org Git - shadow/commitdiff
* src/pwunconv.c: Report failure to unlock the passwd or shadow
authornekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Thu, 7 Aug 2008 08:03:55 +0000 (08:03 +0000)
committernekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Thu, 7 Aug 2008 08:03:55 +0000 (08:03 +0000)
file to stderr and syslog.

ChangeLog
src/pwunconv.c

index 111625a0f8a848e7695a37cbcaa7d2e781231a6c..3d01c5d1b7b166ba018f3d8ee608ea198ac4765f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
index e38097b44a5e24704d92f153d3befbe50bc9ce1a..c392c349462352b980eb0628468e4ee9885f47a8 100644 (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");