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