Add /etc/passwd support
Fix slock to work with /etc/passwd without /etc/shadow. while we're at it, remove an occurence of trailing whitespace.
This commit is contained in:
parent
6a55128354
commit
9db14b10dd
4
slock.c
4
slock.c
@ -75,7 +75,7 @@ getpw(void) { /* only run as root */
|
|||||||
rval = pw->pw_passwd;
|
rval = pw->pw_passwd;
|
||||||
|
|
||||||
#if HAVE_SHADOW_H
|
#if HAVE_SHADOW_H
|
||||||
if (strlen(rval) >= 1) { /* kludge, assumes pw placeholder entry has len >= 1 */
|
if (rval[0] == 'x' && rval[1] == '\0') {
|
||||||
struct spwd *sp;
|
struct spwd *sp;
|
||||||
sp = getspnam(getenv("USER"));
|
sp = getspnam(getenv("USER"));
|
||||||
if(!sp)
|
if(!sp)
|
||||||
@ -147,7 +147,7 @@ readpw(Display *dpy, const char *pws)
|
|||||||
--len;
|
--len;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if(num && !iscntrl((int) buf[0]) && (len + num < sizeof passwd)) {
|
if(num && !iscntrl((int) buf[0]) && (len + num < sizeof passwd)) {
|
||||||
memcpy(passwd + len, buf, num);
|
memcpy(passwd + len, buf, num);
|
||||||
len += num;
|
len += num;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user