[Pkg-shadow-commits] r2526 - in upstream/trunk: . src

nekral-guest at alioth.debian.org nekral-guest at alioth.debian.org
Sun Mar 15 21:29:16 UTC 2009


Author: nekral-guest
Date: 2009-03-15 21:29:16 +0000 (Sun, 15 Mar 2009)
New Revision: 2526

Modified:
   upstream/trunk/ChangeLog
   upstream/trunk/NEWS
   upstream/trunk/src/userdel.c
Log:
	* NEWS, src/userdel.c: Make sure the user exists in the shadow
	database before calling spw_remove().
	* NEWS, src/userdel.c: When the user's group is removed, make sure
	the group is in the gshadow database before calling sgr_remove().
	* src/userdel.c: Improve warning's wording.


Modified: upstream/trunk/ChangeLog
===================================================================
--- upstream/trunk/ChangeLog	2009-03-15 21:15:48 UTC (rev 2525)
+++ upstream/trunk/ChangeLog	2009-03-15 21:29:16 UTC (rev 2526)
@@ -1,5 +1,13 @@
 2009-03-15  Nicolas François  <nicolas.francois at centraliens.net>
 
+	* NEWS, src/userdel.c: Make sure the user exists in the shadow
+	database before calling spw_remove().
+	* NEWS, src/userdel.c: When the user's group is removed, make sure
+	the group is in the gshadow database before calling sgr_remove().
+	* src/userdel.c: Improve warning's wording.
+
+2009-03-15  Nicolas François  <nicolas.francois at centraliens.net>
+
 	* libmisc/cleanup.c: Fix del_cleanup. The arguments were not
 	desynchronized with the cleanup functions.
 	* libmisc/cleanup.c: cleanup_function_args is an array of void

Modified: upstream/trunk/NEWS
===================================================================
--- upstream/trunk/NEWS	2009-03-15 21:15:48 UTC (rev 2525)
+++ upstream/trunk/NEWS	2009-03-15 21:29:16 UTC (rev 2526)
@@ -98,6 +98,9 @@
   * do not create users with UID set to (gid_t)-1.
 - userdel
   * audit logging improvements.
+  * Do not fail if the removed user is not in the shadow database.
+  * When the user's group shall be removed, do not fail if this group is
+    not in the gshadow file.
 - usermod
   * Allow adding LDAP users (or any user not present in the local passwd
     file) to local groups

Modified: upstream/trunk/src/userdel.c
===================================================================
--- upstream/trunk/src/userdel.c	2009-03-15 21:15:48 UTC (rev 2525)
+++ upstream/trunk/src/userdel.c	2009-03-15 21:29:16 UTC (rev 2526)
@@ -216,7 +216,7 @@
 				}
 				if (pwd->pw_gid == grp->gr_gid) {
 					fprintf (stderr,
-					         _("%s: Cannot remove group %s which is a primary group for another user.\n"),
+					         _("%s: group %s is the primary group of another user and is not removed.\n"),
 					         Prog, grp->gr_name);
 					break;
 				}
@@ -309,8 +309,8 @@
 			 user_name, nsgrp->sg_name));
 	}
 
-	if (deleted_user_group) {
-		/* FIXME: Test if the group is in gshadow first? */
+	if (   deleted_user_group
+	    && (sgr_locate (user_name) != NULL)) {
 		if (sgr_remove (user_name) == 0) {
 			fprintf (stderr,
 			         _("%s: cannot remove entry '%s' from %s\n"),
@@ -559,7 +559,9 @@
 		         Prog, user_name, pw_dbname ());
 		fail_exit (E_PW_UPDATE);
 	}
-	if (is_shadow_pwd && (spw_remove (user_name) == 0)) {
+	if (   is_shadow_pwd
+	    && (spw_locate (user_name) != NULL)
+	    && (spw_remove (user_name) == 0)) {
 		fprintf (stderr,
 		         _("%s: cannot remove entry '%s' from %s\n"),
 		         Prog, user_name, spw_dbname ());




More information about the Pkg-shadow-commits mailing list