diff options
author | brian <brian@FreeBSD.org> | 1999-12-20 20:30:40 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 1999-12-20 20:30:40 +0000 |
commit | 540cfa0f957d6aa9f2b0e74c11858fb5bd0fc40a (patch) | |
tree | 37405750f73a6693f759b7619ce65a72174d8218 /usr.sbin | |
parent | b6574956b6dbf4434ebce4e9d26063393399cc55 (diff) | |
download | FreeBSD-src-540cfa0f957d6aa9f2b0e74c11858fb5bd0fc40a.zip FreeBSD-src-540cfa0f957d6aa9f2b0e74c11858fb5bd0fc40a.tar.gz |
Use getpwuid() instead of getlogin() in ``allow users''.
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/ppp/systems.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/usr.sbin/ppp/systems.c b/usr.sbin/ppp/systems.c index a29b902..6fe6a8e 100644 --- a/usr.sbin/ppp/systems.c +++ b/usr.sbin/ppp/systems.c @@ -185,16 +185,17 @@ AllowUsers(struct cmdargs const *arg) { /* arg->bundle may be NULL (see system_IsValid()) ! */ int f; - char *user; + struct passwd *pwd; userok = 0; - user = getlogin(); - if (user && *user) + pwd = getpwuid(getuid()); + if (pwd != NULL) for (f = arg->argn; f < arg->argc; f++) - if (!strcmp("*", arg->argv[f]) || !strcmp(user, arg->argv[f])) { + if (!strcmp("*", arg->argv[f]) || !strcmp(pwd->pw_name, arg->argv[f])) { userok = 1; break; } + endpwent(); return 0; } |