slock-user-1.5.diff - sites - public wiki contents of suckless.org
(HTM) git clone git://git.suckless.org/sites
(DIR) Log
(DIR) Files
(DIR) Refs
---
slock-user-1.5.diff (1425B)
---
1 From 7f1f66dfb1feb2b6df87565f1b895dd7a12d7ceb Mon Sep 17 00:00:00 2001
2 From: Phillip Tischler <ptgit@protonmail.com>
3 Date: Sat, 18 Mar 2023 22:59:55 +0100
4 Subject: [PATCH] Always use the current users password ($USER)
5
6 ---
7 config.def.h | 4 ----
8 slock.c | 8 ++++----
9 2 files changed, 4 insertions(+), 8 deletions(-)
10
11 diff --git a/config.def.h b/config.def.h
12 index 9855e21..3229e62 100644
13 --- a/config.def.h
14 +++ b/config.def.h
15 @@ -1,7 +1,3 @@
16 -/* user and group to drop privileges to */
17 -static const char *user = "nobody";
18 -static const char *group = "nogroup";
19 -
20 static const char *colorname[NUMCOLS] = {
21 [INIT] = "black", /* after initialization */
22 [INPUT] = "#005577", /* during input */
23 diff --git a/slock.c b/slock.c
24 index 5ae738c..7444eac 100644
25 --- a/slock.c
26 +++ b/slock.c
27 @@ -325,13 +325,13 @@ main(int argc, char **argv) {
28
29 /* validate drop-user and -group */
30 errno = 0;
31 - if (!(pwd = getpwnam(user)))
32 - die("slock: getpwnam %s: %s\n", user,
33 + if (!(pwd = getpwnam(getenv("USER"))))
34 + die("slock: getpwnam %s: %s\n", getenv("USER"),
35 errno ? strerror(errno) : "user entry not found");
36 duid = pwd->pw_uid;
37 errno = 0;
38 - if (!(grp = getgrnam(group)))
39 - die("slock: getgrnam %s: %s\n", group,
40 + if (!(grp = getgrnam(getenv("USER"))))
41 + die("slock: getgrnam %s: %s\n", getenv("USER"),
42 errno ? strerror(errno) : "group entry not found");
43 dgid = grp->gr_gid;
44
45 --
46 2.30.2
47