Revert " * src/groupmems.c: Added function open_°files and close_files to"

This reverts commit eb3860eb3647d1b092ffe9baa1eb2f73a27a0d87.
This commit is contained in:
nekral-guest 2008-08-31 17:26:55 +00:00
parent 71656e3cba
commit da693710f6
2 changed files with 22 additions and 47 deletions

View File

@ -1,10 +1,7 @@
2008-08-27 Nicolas François <nicolas.francois@centraliens.net>
* 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 <nicolas.francois@centraliens.net>

View File

@ -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);
}