| slock-secret-password-1.4.diff - sites - public wiki contents of suckless.org | |
| git clone git://git.suckless.org/sites | |
| Log | |
| Files | |
| Refs | |
| --- | |
| slock-secret-password-1.4.diff (963B) | |
| --- | |
| 1 diff --git a/config.def.h b/config.def.h | |
| 2 index 9855e21..989ca08 100644 | |
| 3 --- a/config.def.h | |
| 4 +++ b/config.def.h | |
| 5 @@ -10,3 +10,10 @@ static const char *colorname[NUMCOLS] = { | |
| 6 | |
| 7 /* treat a cleared input like a wrong password (color) */ | |
| 8 static const int failonclear = 1; | |
| 9 + | |
| 10 +/* length of entires in scom */s | |
| 11 +static const int entrylen = 1; | |
| 12 + | |
| 13 +static const secretpass scom[entrylen] = { | |
| 14 +/* Password command */ | |
| 15 + { "shutdown", "doas poweroff" },}; | |
| 16 diff --git a/slock.c b/slock.c | |
| 17 index d2f0886..6a96a2d 100644 | |
| 18 --- a/slock.c | |
| 19 +++ b/slock.c | |
| 20 @@ -160,6 +160,13 @@ readpw(Display *dpy, struct xrandr *rr, struct lock… | |
| 21 case XK_Return: | |
| 22 passwd[len] = '\0'; | |
| 23 errno = 0; | |
| 24 + | |
| 25 + for (int i = 0; i < entrylen; i++){ | |
| 26 + if (strcmp(scom[i].pass, passwd… | |
| 27 + system(scom[i].command); | |
| 28 + } | |
| 29 + } | |
| 30 + | |
| 31 if (!(inputhash = crypt(passwd, hash))) | |
| 32 fprintf(stderr, "slock: crypt: … | |
| 33 else |