From da693710f64d9fe95e18aef362e3dcb51a170067 Mon Sep 17 00:00:00 2001 From: nekral-guest Date: Sun, 31 Aug 2008 17:26:55 +0000 Subject: [PATCH] =?UTF-8?q?Revert=20"=09*=20src/groupmems.c:=20Added=20fun?= =?UTF-8?q?ction=20open=5F=C2=B0files=20and=20close=5Ffiles=20to"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit eb3860eb3647d1b092ffe9baa1eb2f73a27a0d87. --- ChangeLog | 7 ++---- src/groupmems.c | 62 ++++++++++++++++--------------------------------- 2 files changed, 22 insertions(+), 47 deletions(-) diff --git a/ChangeLog b/ChangeLog index 044ae100..4b58a47a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,7 @@ 2008-08-27 Nicolas François - * src/groupmems.c: Added functions add_user(), remove_user(), - purge_members(), open_files, and close_files to ease the support - of gshadow. - * src/groupmems.c: Always call check_perms(). This function now - succeed when the requested action is to list the members. + * src/groupmems.c: Added functions add_user(), remove_user(), and + purge_members() to ease the support of gshadow. 2008-08-27 Nicolas François diff --git a/src/groupmems.c b/src/groupmems.c index 0969f734..97014771 100644 --- a/src/groupmems.c +++ b/src/groupmems.c @@ -242,10 +242,6 @@ static void process_flags (int argc, char **argv) static void check_perms (void) { - if (list) { - return; - } - #ifdef USE_PAM pam_handle_t *pamh = NULL; int retval = PAM_SUCCESS; @@ -289,41 +285,6 @@ static void fail_exit (int code) exit (code); } -static void open_files (void) -{ - if (!list) { - if (gr_lock () == 0) { - fprintf (stderr, - _("%s: cannot lock %s; try again later.\n"), - Prog, gr_dbname ()); - fail_exit (EXIT_GROUP_FILE); - } - gr_locked = true; - } - - if (gr_open (list ? O_RDONLY : O_RDWR) == 0) { - fprintf (stderr, _("%s: cannot open %s\n"), Prog, gr_dbname ()); - fail_exit (EXIT_GROUP_FILE); - } -} - -static void close_files (void) -{ - if (gr_close () == 0) { - fprintf (stderr, _("%s: failure while writing changes to %s\n"), Prog, gr_dbname ()); - SYSLOG ((LOG_ERR, "failure while writing changes to %s", gr_dbname ())); - fail_exit (EXIT_GROUP_FILE); - } - if (gr_locked) { - if (gr_unlock () == 0) { - fprintf (stderr, _("%s: failed to unlock %s\n"), Prog, gr_dbname ()); - SYSLOG ((LOG_ERR, "failed to unlock %s", gr_dbname ())); - /* continue */ - } - gr_locked = false; - } -} - int main (int argc, char **argv) { char *name; @@ -356,9 +317,17 @@ int main (int argc, char **argv) } } - check_perms (); + if (!list) { + check_perms (); - open_files (); + if (gr_lock () == 0) { + fprintf (stderr, + _("%s: cannot lock %s; try again later.\n"), + Prog, gr_dbname ()); + fail_exit (EXIT_GROUP_FILE); + } + gr_locked = true; + } if (gr_open (list ? O_RDONLY : O_RDWR) == 0) { fprintf (stderr, _("%s: cannot open %s\n"), Prog, gr_dbname ()); @@ -383,7 +352,16 @@ int main (int argc, char **argv) purge_members (grp); } - close_files (); + if (gr_close () == 0) { + fprintf (stderr, _("%s: failure while writing changes to %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: failed to unlock %s\n"), Prog, gr_dbname ()); + SYSLOG ((LOG_ERR, "failed to unlock %s", gr_dbname ())); + /* continue */ + } exit (EXIT_SUCCESS); }