- Removed read-only lock from 'pw'. This removes portions of the FIX

from PR/6787, but allow non-root users to use pw to get password
  information.  However, this should be safe since the fixes for
  disallowing multiple instances from modifying the DB are still intact.

Bug noted by:	 dima@best.net (Dima Ruban)
This commit is contained in:
Nate Williams 1998-08-04 22:20:11 +00:00
parent 7931ccb86a
commit 2a6797aae2

View File

@ -31,7 +31,6 @@ static const char rcsid[] =
#include "pw.h"
#include <err.h>
#include <fcntl.h>
#include <paths.h>
#include <sys/wait.h>
@ -50,7 +49,6 @@ static struct cargs arglist;
static int getindex(const char *words[], const char *word);
static void cmdhelp(int mode, int which);
static int filelock(const char *filename);
int
@ -149,20 +147,7 @@ main(int argc, char *argv[])
* Now, let's do the common initialisation
*/
cnf = read_userconfig(getarg(&arglist, 'C') ? getarg(&arglist, 'C')->val : NULL);
/*
* Be pessimistic and lock the master passowrd and group
* files right away. Keep it locked for the duration.
*/
if (-1 == filelock(_PATH_GROUP) || -1 == filelock(_PATH_MASTERPASSWD))
{
ch = EX_IOERR;
}
else
{
ch = funcs[which] (cnf, mode, &arglist);
}
ch = funcs[which] (cnf, mode, &arglist);
/*
* If everything went ok, and we've been asked to update
@ -192,12 +177,6 @@ main(int argc, char *argv[])
return ch;
}
static int
filelock(const char *filename)
{
return open(filename, O_RDONLY | O_EXLOCK, 0);
}
static int
getindex(const char *words[], const char *word)
{