mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-10 14:02:43 +00:00
Make the similar changes as in our keyinfo, i.e. allow user to get his own
sequence and allow root to get everybody's one. Before this change user can't get his own sequence, root required.
This commit is contained in:
parent
2137f0edf5
commit
cd01c79119
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=78644
@ -29,6 +29,9 @@ License Agreement applies to this software.
|
||||
Modified at NRL for OPIE 2.0.
|
||||
Written at Bellcore for the S/Key Version 1 software distribution
|
||||
(keyinfo)
|
||||
|
||||
$FreeBSD$
|
||||
|
||||
*/
|
||||
|
||||
#include "opie_cfg.h"
|
||||
@ -36,9 +39,6 @@ License Agreement applies to this software.
|
||||
#if HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif /* HAVE_UNISTD_H */
|
||||
#if HAVE_PWD_H
|
||||
#include <pwd.h>
|
||||
#endif /* HAVE_PWD_H */
|
||||
#include "opie.h"
|
||||
|
||||
/* extern char *optarg; */
|
||||
@ -46,12 +46,14 @@ extern int errno, optind;
|
||||
|
||||
static char *getusername FUNCTION_NOARGS
|
||||
{
|
||||
struct passwd *p = getpwuid(getuid());
|
||||
char *login;
|
||||
|
||||
if (!p)
|
||||
return getlogin();
|
||||
|
||||
return p->pw_name;
|
||||
login = getlogin();
|
||||
if (login == NULL) {
|
||||
fprintf(stderr, "Cannot find login name\n");
|
||||
exit(1);
|
||||
}
|
||||
return login;
|
||||
}
|
||||
|
||||
int main FUNCTION((argc, argv), int argc AND char *argv[])
|
||||
@ -71,9 +73,13 @@ int main FUNCTION((argc, argv), int argc AND char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
if (optind < argc)
|
||||
if (optind < argc) {
|
||||
if (getuid() != 0) {
|
||||
fprintf(stderr, "Only superuser may get another user's keys\n");
|
||||
exit(1);
|
||||
}
|
||||
username = argv[optind];
|
||||
else
|
||||
} else
|
||||
username = getusername();
|
||||
|
||||
if ((i = opielookup(&opie, username)) && (i != 2)) {
|
||||
|
@ -8,6 +8,7 @@ CFLAGS+=-I${OPIE_DIST}
|
||||
|
||||
DPADD= ${LIBOPIE} ${LIBMD}
|
||||
LDADD= -lopie -lmd
|
||||
BINMODE=4555
|
||||
|
||||
.PATH: ${OPIE_DIST}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user