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

nekral-guest at alioth.debian.org nekral-guest at alioth.debian.org
Sat Aug 9 23:28:31 UTC 2008


Author: nekral-guest
Date: 2008-08-09 23:28:30 +0000 (Sat, 09 Aug 2008)
New Revision: 2260

Modified:
   upstream/trunk/ChangeLog
   upstream/trunk/NEWS
   upstream/trunk/src/groupmems.c
Log:
	* NEWS, src/groupmems.c: Added syslog support.
	* src/groupmems.c: members() renamed display_members() to
	avoid name clash with its members argument.
	* src/groupmems.c: Report failure to unlock to syslog.
	* src/groupmems.c: Harmonize error messages.
	* src/groupmems.c: Report failures to write the new group file to
	syslog (gr_close() failure).
	* src/groupmems.c: Don't use fail_exit for non-failure exit.

Modified: upstream/trunk/ChangeLog
===================================================================
--- upstream/trunk/ChangeLog	2008-08-09 23:27:50 UTC (rev 2259)
+++ upstream/trunk/ChangeLog	2008-08-09 23:28:30 UTC (rev 2260)
@@ -1,5 +1,16 @@
 2008-08-07  Nicolas François  <nicolas.francois at centraliens.net>
 
+	* NEWS, src/groupmems.c: Added syslog support.
+	* src/groupmems.c: members() renamed display_members() to
+	avoid name clash with its members argument.
+	* src/groupmems.c: Report failure to unlock to syslog.
+	* src/groupmems.c: Harmonize error messages.
+	* src/groupmems.c: Report failures to write the new group file to
+	syslog (gr_close() failure).
+	* src/groupmems.c: Don't use fail_exit for non-failure exit.
+
+2008-08-07  Nicolas François  <nicolas.francois at centraliens.net>
+
 	* src/chsh.c: Added fail_exit().
 	* src/chsh.c: Use fail_exit() instead of exit(), this avoid
 	calling closelog() every times.

Modified: upstream/trunk/NEWS
===================================================================
--- upstream/trunk/NEWS	2008-08-09 23:27:50 UTC (rev 2259)
+++ upstream/trunk/NEWS	2008-08-09 23:28:30 UTC (rev 2260)
@@ -16,6 +16,7 @@
   * Everybody is allowed to list the users of a group.
   * /etc/group is open readonly when one just wants to list the users of a
     group.
+  * Added syslog support.
 
 shadow-4.1.2 -> shadow-4.1.2.1						26-06-2008
 

Modified: upstream/trunk/src/groupmems.c
===================================================================
--- upstream/trunk/src/groupmems.c	2008-08-09 23:27:50 UTC (rev 2259)
+++ upstream/trunk/src/groupmems.c	2008-08-09 23:28:30 UTC (rev 2260)
@@ -71,7 +71,7 @@
 static bool group_locked = false;
 
 static char *whoami (void);
-static void members (char **members);
+static void display_members (char **members);
 static void usage (void);
 static void process_flags (int argc, char **argv);
 static void check_perms (void);
@@ -94,7 +94,7 @@
 	}
 }
 
-static void members (char **members)
+static void display_members (char **members)
 {
 	int i;
 
@@ -208,14 +208,16 @@
 	if (group_locked) {
 		if (gr_unlock () == 0) {
 			fprintf (stderr,
-			         _("%s: unable to unlock group file\n"),
-			         Prog);
+			         _("%s: cannot unlock %s\n"),
+			         Prog, gr_dbname ());
+			SYSLOG ((LOG_ERR, "failed to unlock %s", gr_dbname ()));
+			/* continue */
 		}
 	}
 	exit (code);
 }
 
-void main (int argc, char **argv) 
+int main (int argc, char **argv) 
 {
 	char *name;
 	struct group *grp;
@@ -225,6 +227,8 @@
 	 */
 	Prog = Basename (argv[0]);
 
+	OPENLOG ("groupmems");
+
 	(void) setlocale (LC_ALL, "");
 	(void) bindtextdomain (PACKAGE, LOCALEDIR);
 	(void) textdomain (PACKAGE);
@@ -250,27 +254,28 @@
 
 		if (gr_lock () == 0) {
 			fprintf (stderr,
-			         _("%s: unable to lock group file\n"), Prog);
+			         _("%s: cannot lock %s\n"),
+			         Prog, gr_dbname ());
 			fail_exit (EXIT_GROUP_FILE);
 		}
 		group_locked = true;
 	}
 
 	if (gr_open (list ? O_RDONLY : O_RDWR) == 0) {
-		fprintf (stderr, _("%s: unable to open group file\n"), Prog);
+		fprintf (stderr, _("%s: cannot open %s\n"), Prog, gr_dbname ());
 		fail_exit (EXIT_GROUP_FILE);
 	}
 
 	grp = (struct group *) gr_locate (name);
 
 	if (NULL == grp) {
-		fprintf (stderr, _("%s: '%s' not found in /etc/group\n"),
-		         Prog, name);
+		fprintf (stderr, _("%s: group '%s' does not exist in %s\n"),
+		         Prog, name, gr_dbname ());
 		fail_exit (EXIT_INVALID_GROUP);
 	}
 
 	if (list) {
-		members (grp->gr_mem);
+		display_members (grp->gr_mem);
 	} else if (NULL != adduser) {
 		if (is_on_list (grp->gr_mem, adduser)) {
 			fprintf (stderr,
@@ -295,10 +300,16 @@
 	}
 
 	if (gr_close () == 0) {
-		fprintf (stderr, _("%s: unable to close group file\n"), Prog);
+		fprintf (stderr, _("%s: failure while writing %s\n"), Prog, gr_dbname ());
+		SYSLOG ((LOG_ERR, "failure while writing %s", gr_dbname ()));
 		fail_exit (EXIT_GROUP_FILE);
 	}
+	if (gr_unlock () == 0) {
+		fprintf (stderr, _("%s: cannot unlock %s\n"), Prog, gr_dbname ());
+		SYSLOG ((LOG_ERR, "failed to unlock %s", gr_dbname ()));
+		/* continue */
+	}
 
-	fail_exit (EXIT_SUCCESS);
+	exit (EXIT_SUCCESS);
 }
 




More information about the Pkg-shadow-commits mailing list