From 4c8080f7d109b37be76d3d884e0348fc6318ad1d Mon Sep 17 00:00:00 2001 From: Ryan Kes Date: Sun, 17 Mar 2019 17:06:34 +0100 Subject: [PATCH] pre should never have been comitted --- pre/slock-1.4/LICENSE | 24 -- pre/slock-1.4/Makefile | 61 ----- pre/slock-1.4/README | 24 -- pre/slock-1.4/arg.h | 65 ----- pre/slock-1.4/config.def.h | 21 -- pre/slock-1.4/config.h | 18 -- pre/slock-1.4/config.mk | 32 --- pre/slock-1.4/explicit_bzero.c | 19 -- pre/slock-1.4/explicit_bzero.o | Bin 1408 -> 0 bytes pre/slock-1.4/slock | Bin 18296 -> 0 bytes pre/slock-1.4/slock.1 | 39 --- pre/slock-1.4/slock.c | 437 --------------------------------- pre/slock-1.4/slock.o | Bin 12560 -> 0 bytes pre/slock-1.4/util.h | 2 - 14 files changed, 742 deletions(-) delete mode 100644 pre/slock-1.4/LICENSE delete mode 100644 pre/slock-1.4/Makefile delete mode 100644 pre/slock-1.4/README delete mode 100644 pre/slock-1.4/arg.h delete mode 100644 pre/slock-1.4/config.def.h delete mode 100644 pre/slock-1.4/config.h delete mode 100644 pre/slock-1.4/config.mk delete mode 100644 pre/slock-1.4/explicit_bzero.c delete mode 100644 pre/slock-1.4/explicit_bzero.o delete mode 100755 pre/slock-1.4/slock delete mode 100644 pre/slock-1.4/slock.1 delete mode 100644 pre/slock-1.4/slock.c delete mode 100644 pre/slock-1.4/slock.o delete mode 100644 pre/slock-1.4/util.h diff --git a/pre/slock-1.4/LICENSE b/pre/slock-1.4/LICENSE deleted file mode 100644 index 2e4419b..0000000 --- a/pre/slock-1.4/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -MIT/X Consortium License - -© 2015-2016 Markus Teich -© 2014 Dimitris Papastamos -© 2006-2014 Anselm R Garbe -© 2014-2016 Laslo Hunhold - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the "Software"), -to deal in the Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, distribute, sublicense, -and/or sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. diff --git a/pre/slock-1.4/Makefile b/pre/slock-1.4/Makefile deleted file mode 100644 index f4ffbb7..0000000 --- a/pre/slock-1.4/Makefile +++ /dev/null @@ -1,61 +0,0 @@ -# slock - simple screen locker -# See LICENSE file for copyright and license details. - -include config.mk - -SRC = slock.c ${COMPATSRC} -OBJ = ${SRC:.c=.o} - -all: options slock - -options: - @echo slock build options: - @echo "CFLAGS = ${CFLAGS}" - @echo "LDFLAGS = ${LDFLAGS}" - @echo "CC = ${CC}" - -.c.o: - @echo CC $< - @${CC} -c ${CFLAGS} $< - -${OBJ}: config.h config.mk arg.h util.h - -config.h: - @echo creating $@ from config.def.h - @cp config.def.h $@ - -slock: ${OBJ} - @echo CC -o $@ - @${CC} -o $@ ${OBJ} ${LDFLAGS} - -clean: - @echo cleaning - @rm -f slock ${OBJ} slock-${VERSION}.tar.gz - -dist: clean - @echo creating dist tarball - @mkdir -p slock-${VERSION} - @cp -R LICENSE Makefile README slock.1 config.mk \ - ${SRC} explicit_bzero.c config.def.h arg.h util.h slock-${VERSION} - @tar -cf slock-${VERSION}.tar slock-${VERSION} - @gzip slock-${VERSION}.tar - @rm -rf slock-${VERSION} - -install: all - @echo installing executable file to ${DESTDIR}${PREFIX}/bin - @mkdir -p ${DESTDIR}${PREFIX}/bin - @cp -f slock ${DESTDIR}${PREFIX}/bin - @chmod 755 ${DESTDIR}${PREFIX}/bin/slock - @chmod u+s ${DESTDIR}${PREFIX}/bin/slock - @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1 - @mkdir -p ${DESTDIR}${MANPREFIX}/man1 - @sed "s/VERSION/${VERSION}/g" ${DESTDIR}${MANPREFIX}/man1/slock.1 - @chmod 644 ${DESTDIR}${MANPREFIX}/man1/slock.1 - -uninstall: - @echo removing executable file from ${DESTDIR}${PREFIX}/bin - @rm -f ${DESTDIR}${PREFIX}/bin/slock - @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1 - @rm -f ${DESTDIR}${MANPREFIX}/man1/slock.1 - -.PHONY: all options clean dist install uninstall diff --git a/pre/slock-1.4/README b/pre/slock-1.4/README deleted file mode 100644 index a81290d..0000000 --- a/pre/slock-1.4/README +++ /dev/null @@ -1,24 +0,0 @@ -slock - simple screen locker -============================ -simple screen locker utility for X. - - -Requirements ------------- -In order to build slock you need the Xlib header files. - - -Installation ------------- -Edit config.mk to match your local setup (slock is installed into -the /usr/local namespace by default). - -Afterwards enter the following command to build and install slock -(if necessary as root): - - make clean install - - -Running slock -------------- -Simply invoke the 'slock' command. To get out of it, enter your password. diff --git a/pre/slock-1.4/arg.h b/pre/slock-1.4/arg.h deleted file mode 100644 index 0b23c53..0000000 --- a/pre/slock-1.4/arg.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copy me if you can. - * by 20h - */ - -#ifndef ARG_H__ -#define ARG_H__ - -extern char *argv0; - -/* use main(int argc, char *argv[]) */ -#define ARGBEGIN for (argv0 = *argv, argv++, argc--;\ - argv[0] && argv[0][0] == '-'\ - && argv[0][1];\ - argc--, argv++) {\ - char argc_;\ - char **argv_;\ - int brk_;\ - if (argv[0][1] == '-' && argv[0][2] == '\0') {\ - argv++;\ - argc--;\ - break;\ - }\ - for (brk_ = 0, argv[0]++, argv_ = argv;\ - argv[0][0] && !brk_;\ - argv[0]++) {\ - if (argv_ != argv)\ - break;\ - argc_ = argv[0][0];\ - switch (argc_) - -/* Handles obsolete -NUM syntax */ -#define ARGNUM case '0':\ - case '1':\ - case '2':\ - case '3':\ - case '4':\ - case '5':\ - case '6':\ - case '7':\ - case '8':\ - case '9' - -#define ARGEND }\ - } - -#define ARGC() argc_ - -#define ARGNUMF() (brk_ = 1, estrtonum(argv[0], 0, INT_MAX)) - -#define EARGF(x) ((argv[0][1] == '\0' && argv[1] == NULL)?\ - ((x), abort(), (char *)0) :\ - (brk_ = 1, (argv[0][1] != '\0')?\ - (&argv[0][1]) :\ - (argc--, argv++, argv[0]))) - -#define ARGF() ((argv[0][1] == '\0' && argv[1] == NULL)?\ - (char *)0 :\ - (brk_ = 1, (argv[0][1] != '\0')?\ - (&argv[0][1]) :\ - (argc--, argv++, argv[0]))) - -#define LNGARG() &argv[0][0] - -#endif diff --git a/pre/slock-1.4/config.def.h b/pre/slock-1.4/config.def.h deleted file mode 100644 index 932b728..0000000 --- a/pre/slock-1.4/config.def.h +++ /dev/null @@ -1,21 +0,0 @@ -/* user and group to drop privileges to */ -static const char *user = "nobody"; -static const char *group = "nobody"; - -static const char *colorname[NUMCOLS] = { - [INIT] = "black", /* after initialization */ - [INPUT] = "#005577", /* during input */ - [FAILED] = "#CC3333", /* wrong password */ -}; - -/* treat a cleared input like a wrong password (color) */ -static const int failonclear = 1; - -/* time in seconds before the monitor shuts down */ -static const int monitortime = 5; - -/* treat a cleared input like a wrong password */ -static const int failonclear = 1; - -/* time to cancel lock with mouse movement in seconds */ -static const int timetocancel = 3; diff --git a/pre/slock-1.4/config.h b/pre/slock-1.4/config.h deleted file mode 100644 index a6306fb..0000000 --- a/pre/slock-1.4/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* user and group to drop privileges to */ -static const char *user = "nobody"; -static const char *group = "nobody"; - -static const char *colorname[NUMCOLS] = { - [INIT] = "black", /* after initialization */ - [INPUT] = "#005577", /* during input */ - [FAILED] = "#CC3333", /* wrong password */ -}; - -/* treat a cleared input like a wrong password (color) */ -static const int failonclear = 1; - -/* time in seconds before the monitor shuts down */ -static const int monitortime = 5; - -/* time to cancel lock with mouse movement in seconds */ -static const int timetocancel = 3; diff --git a/pre/slock-1.4/config.mk b/pre/slock-1.4/config.mk deleted file mode 100644 index bb846fc..0000000 --- a/pre/slock-1.4/config.mk +++ /dev/null @@ -1,32 +0,0 @@ -# slock version -VERSION = 1.4 - -# Customize below to fit your system - -# paths -PREFIX = /usr/local -MANPREFIX = ${PREFIX}/share/man - -X11INC = /usr/X11R6/include -X11LIB = /usr/X11R6/lib - -# includes and libs -INCS = -I. -I/usr/include -I${X11INC} -LIBS = -L/usr/lib -lc -lcrypt -L${X11LIB} -lX11 -lXext -lXrandr - -# flags -CPPFLAGS += -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE -DHAVE_SHADOW_H -CFLAGS += -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS} -LDFLAGS += -s ${LIBS} -COMPATSRC = explicit_bzero.c - -# On OpenBSD and Darwin remove -lcrypt from LIBS -#LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 -lXext -lXrandr -# On *BSD remove -DHAVE_SHADOW_H from CPPFLAGS -# On NetBSD add -D_NETBSD_SOURCE to CPPFLAGS -#CPPFLAGS += -DVERSION=\"${VERSION}\" -D_BSD_SOURCE -D_NETBSD_SOURCE -# On OpenBSD set COMPATSRC to empty -#COMPATSRC = - -# compiler and linker -CC = cc diff --git a/pre/slock-1.4/explicit_bzero.c b/pre/slock-1.4/explicit_bzero.c deleted file mode 100644 index 3e33ca8..0000000 --- a/pre/slock-1.4/explicit_bzero.c +++ /dev/null @@ -1,19 +0,0 @@ -/* $OpenBSD: explicit_bzero.c,v 1.3 2014/06/21 02:34:26 matthew Exp $ */ -/* - * Public domain. - * Written by Matthew Dempsky. - */ - -#include - -__attribute__((weak)) void -__explicit_bzero_hook(void *buf, size_t len) -{ -} - -void -explicit_bzero(void *buf, size_t len) -{ - memset(buf, 0, len); - __explicit_bzero_hook(buf, len); -} diff --git a/pre/slock-1.4/explicit_bzero.o b/pre/slock-1.4/explicit_bzero.o deleted file mode 100644 index d37bfbe507fb71877ba7ebb65003197f94918f60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1408 zcmbtUJ4*vW5S}wW;sbmZLM#poQP9N;f+2+*1Wgc8P%NyDOFT)4$%Wh%F^#tA{0Y`p z{sh4vp?|?nu@fQATz2BRo{dh(eY4-Zc4qhPa(i!Qz%YQtfGzl1F$-`t@TJ?4YQqGK z!-I8S=)4v>?{Bw-&f{}r$>(xeb2-0%ykcfVT3BX!-O5;2dK0a4kq3a$J_MsRWuzuX zlGj*p3i$=LNhEGv>N6651KRT-ymsU4iP(++68MXg1ZIkp1PsT~m}TS_e&`2JeJm>b z;aM*uKZ884`~7;Y#(AYw37ulwYx<%Dj`N*z%D!KP?;OCStW2FG@&D27i79zHPUT2p zL*scLAcBip=oS&fW)I7(HNA6JgkCEIaq5OHh++_cDEYOTS4Xbyhn~P&uoi@FsR|-; z_sY&$)2(^3+`qxZ476AMWNhR}W_!?o_WP1d3Xx`H%QeH3bexyOC?ZibOA_XnP$yo$ zNk`-qBYOQ+^r4)8jkhqCa`JnEY9w5r`csALGiK4qy6RU~7mBX?9>{q0E|Ggf#@G@W zcz(RzMI~1Ql QF)rSen>ta0QP<-?0Z8Cnc>n+a diff --git a/pre/slock-1.4/slock b/pre/slock-1.4/slock deleted file mode 100755 index 33de3e0404ea94a2b9c22d0d25a0fd99ffd4b9d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18296 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 V9g%Y1qMX0MY#kCo)VUsq{|{R879Icq diff --git a/pre/slock-1.4/slock.1 b/pre/slock-1.4/slock.1 deleted file mode 100644 index 82cdcd6..0000000 --- a/pre/slock-1.4/slock.1 +++ /dev/null @@ -1,39 +0,0 @@ -.Dd 2016-08-23 -.Dt SLOCK 1 -.Sh NAME -.Nm slock -.Nd simple X screen locker -.Sh SYNOPSIS -.Nm -.Op Fl v -.Op Ar cmd Op Ar arg ... -.Sh DESCRIPTION -.Nm -is a simple X screen locker. If provided, -.Ar cmd Op Ar arg ... -is executed after the screen has been locked. -.Sh OPTIONS -.Bl -tag -width Ds -.It Fl v -Print version information to stdout and exit. -.El -.Sh SECURITY CONSIDERATIONS -To make sure a locked screen can not be bypassed by switching VTs -or killing the X server with Ctrl+Alt+Backspace, it is recommended -to disable both in -.Xr xorg.conf 5 -for maximum security: -.Bd -literal -offset left -Section "ServerFlags" - Option "DontVTSwitch" "True" - Option "DontZap" "True" -EndSection -.Ed -.Sh EXAMPLES -$ -.Nm -/usr/sbin/s2ram -.Sh CUSTOMIZATION -.Nm -can be customized by creating a custom config.h from config.def.h and -(re)compiling the source code. This keeps it fast, secure and simple. diff --git a/pre/slock-1.4/slock.c b/pre/slock-1.4/slock.c deleted file mode 100644 index 5d392aa..0000000 --- a/pre/slock-1.4/slock.c +++ /dev/null @@ -1,437 +0,0 @@ -/* See LICENSE file for license details. */ -#define _XOPEN_SOURCE 500 -#if HAVE_SHADOW_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "arg.h" -#include "util.h" - -static time_t tim; - -char *argv0; - -enum { - INIT, - INPUT, - FAILED, - NUMCOLS -}; - -struct lock { - int screen; - Window root, win; - Pixmap pmap; - unsigned long colors[NUMCOLS]; -}; - -struct xrandr { - int active; - int evbase; - int errbase; -}; - -#include "config.h" - -static void -die(const char *errstr, ...) -{ - va_list ap; - - va_start(ap, errstr); - vfprintf(stderr, errstr, ap); - va_end(ap); - exit(1); -} - -#ifdef __linux__ -#include -#include - -static void -dontkillme(void) -{ - FILE *f; - const char oomfile[] = "/proc/self/oom_score_adj"; - - if (!(f = fopen(oomfile, "w"))) { - if (errno == ENOENT) - return; - die("slock: fopen %s: %s\n", oomfile, strerror(errno)); - } - fprintf(f, "%d", OOM_SCORE_ADJ_MIN); - if (fclose(f)) { - if (errno == EACCES) - die("slock: unable to disable OOM killer. " - "Make sure to suid or sgid slock.\n"); - else - die("slock: fclose %s: %s\n", oomfile, strerror(errno)); - } -} -#endif - -static const char * -gethash(void) -{ - const char *hash; - struct passwd *pw; - - /* Check if the current user has a password entry */ - errno = 0; - if (!(pw = getpwuid(getuid()))) { - if (errno) - die("slock: getpwuid: %s\n", strerror(errno)); - else - die("slock: cannot retrieve password entry\n"); - } - hash = pw->pw_passwd; - -#if HAVE_SHADOW_H - if (!strcmp(hash, "x")) { - struct spwd *sp; - if (!(sp = getspnam(pw->pw_name))) - die("slock: getspnam: cannot retrieve shadow entry. " - "Make sure to suid or sgid slock.\n"); - hash = sp->sp_pwdp; - } -#else - if (!strcmp(hash, "*")) { -#ifdef __OpenBSD__ - if (!(pw = getpwuid_shadow(getuid()))) - die("slock: getpwnam_shadow: cannot retrieve shadow entry. " - "Make sure to suid or sgid slock.\n"); - hash = pw->pw_passwd; -#else - die("slock: getpwuid: cannot retrieve shadow entry. " - "Make sure to suid or sgid slock.\n"); -#endif /* __OpenBSD__ */ - } -#endif /* HAVE_SHADOW_H */ - - return hash; -} - -static void -readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, - const char *hash) -{ - XRRScreenChangeNotifyEvent *rre; - char buf[32], passwd[256], *inputhash; - int num, screen, running, failure, oldc; - unsigned int len, color; - KeySym ksym; - XEvent ev; - - len = 0; - running = 1; - failure = 0; - oldc = INIT; - - while (running && !XNextEvent(dpy, &ev)) { - running = !((time(NULL) - tim < timetocancel) && (ev.type == MotionNotify)); - if (ev.type == KeyPress) { - explicit_bzero(&buf, sizeof(buf)); - num = XLookupString(&ev.xkey, buf, sizeof(buf), &ksym, 0); - if (IsKeypadKey(ksym)) { - if (ksym == XK_KP_Enter) - ksym = XK_Return; - else if (ksym >= XK_KP_0 && ksym <= XK_KP_9) - ksym = (ksym - XK_KP_0) + XK_0; - } - if (IsFunctionKey(ksym) || - IsKeypadKey(ksym) || - IsMiscFunctionKey(ksym) || - IsPFKey(ksym) || - IsPrivateKeypadKey(ksym)) - continue; - switch (ksym) { - case XK_Return: - passwd[len] = '\0'; - errno = 0; - if (!(inputhash = crypt(passwd, hash))) - fprintf(stderr, "slock: crypt: %s\n", strerror(errno)); - else - running = !!strcmp(inputhash, hash); - if (running) { - XBell(dpy, 100); - failure = 1; - } - explicit_bzero(&passwd, sizeof(passwd)); - len = 0; - break; - case XK_Escape: - explicit_bzero(&passwd, sizeof(passwd)); - len = 0; - break; - case XF86XK_AudioRaiseVolume: - XSendEvent(dpy, DefaultRootWindow(dpy), True, KeyPressMask, &ev); - break; - case XF86XK_AudioLowerVolume: - XSendEvent(dpy, DefaultRootWindow(dpy), True, KeyPressMask, &ev); - break; - case XF86XK_AudioMute: - XSendEvent(dpy, DefaultRootWindow(dpy), True, KeyPressMask, &ev); - break; - case XF86XK_MonBrightnessUp: - XSendEvent(dpy, DefaultRootWindow(dpy), True, KeyPressMask, &ev); - break; - case XF86XK_MonBrightnessDown: - XSendEvent(dpy, DefaultRootWindow(dpy), True, KeyPressMask, &ev); - break; - case XK_BackSpace: - if (len) - passwd[len--] = '\0'; - break; - default: - if (num && !iscntrl((int)buf[0]) && - (len + num < sizeof(passwd))) { - memcpy(passwd + len, buf, num); - len += num; - } - break; - } - color = len ? INPUT : ((failure || failonclear) ? FAILED : INIT); - if (running && oldc != color) { - for (screen = 0; screen < nscreens; screen++) { - XSetWindowBackground(dpy, - locks[screen]->win, - locks[screen]->colors[color]); - XClearWindow(dpy, locks[screen]->win); - } - oldc = color; - } - } else if (rr->active && ev.type == rr->evbase + RRScreenChangeNotify) { - rre = (XRRScreenChangeNotifyEvent*)&ev; - for (screen = 0; screen < nscreens; screen++) { - if (locks[screen]->win == rre->window) { - XResizeWindow(dpy, locks[screen]->win, - rre->width, rre->height); - XClearWindow(dpy, locks[screen]->win); - } - } - } else for (screen = 0; screen < nscreens; screen++) - XRaiseWindow(dpy, locks[screen]->win); - } -} - -static struct lock * -lockscreen(Display *dpy, struct xrandr *rr, int screen) -{ - char curs[] = {0, 0, 0, 0, 0, 0, 0, 0}; - int i, ptgrab, kbgrab; - struct lock *lock; - XColor color, dummy; - XSetWindowAttributes wa; - Cursor invisible; - - if (dpy == NULL || screen < 0 || !(lock = malloc(sizeof(struct lock)))) - return NULL; - - lock->screen = screen; - lock->root = RootWindow(dpy, lock->screen); - - for (i = 0; i < NUMCOLS; i++) { - XAllocNamedColor(dpy, DefaultColormap(dpy, lock->screen), - colorname[i], &color, &dummy); - lock->colors[i] = color.pixel; - } - - /* init */ - wa.override_redirect = 1; - wa.background_pixel = lock->colors[INIT]; - lock->win = XCreateWindow(dpy, lock->root, 0, 0, - DisplayWidth(dpy, lock->screen), - DisplayHeight(dpy, lock->screen), - 0, DefaultDepth(dpy, lock->screen), - CopyFromParent, - DefaultVisual(dpy, lock->screen), - CWOverrideRedirect | CWBackPixel, &wa); - lock->pmap = XCreateBitmapFromData(dpy, lock->win, curs, 8, 8); - invisible = XCreatePixmapCursor(dpy, lock->pmap, lock->pmap, - &color, &color, 0, 0); - XDefineCursor(dpy, lock->win, invisible); - - /* Try to grab mouse pointer *and* keyboard for 600ms, else fail the lock */ - for (i = 0, ptgrab = kbgrab = -1; i < 6; i++) { - if (ptgrab != GrabSuccess) { - ptgrab = XGrabPointer(dpy, lock->root, False, - ButtonPressMask | ButtonReleaseMask | - PointerMotionMask, GrabModeAsync, - GrabModeAsync, None, invisible, CurrentTime); - } - if (kbgrab != GrabSuccess) { - kbgrab = XGrabKeyboard(dpy, lock->root, True, - GrabModeAsync, GrabModeAsync, CurrentTime); - } - - /* input is grabbed: we can lock the screen */ - if (ptgrab == GrabSuccess && kbgrab == GrabSuccess) { - XMapRaised(dpy, lock->win); - if (rr->active) - XRRSelectInput(dpy, lock->win, RRScreenChangeNotifyMask); - - XSelectInput(dpy, lock->root, SubstructureNotifyMask); - tim = time(NULL); - return lock; - } - - /* retry on AlreadyGrabbed but fail on other errors */ - if ((ptgrab != AlreadyGrabbed && ptgrab != GrabSuccess) || - (kbgrab != AlreadyGrabbed && kbgrab != GrabSuccess)) - break; - - usleep(100000); - } - - /* we couldn't grab all input: fail out */ - if (ptgrab != GrabSuccess) - fprintf(stderr, "slock: unable to grab mouse pointer for screen %d\n", - screen); - if (kbgrab != GrabSuccess) - fprintf(stderr, "slock: unable to grab keyboard for screen %d\n", - screen); - return NULL; -} - -static void -monitorreset(Display* dpy, CARD16 standby, CARD16 suspend, CARD16 off) -{ - DPMSSetTimeouts(dpy, standby, suspend, off); - DPMSForceLevel(dpy, DPMSModeOn); - XFlush(dpy); -} - -static void -usage(void) -{ - die("usage: slock [-v] [cmd [arg ...]]\n"); -} - -int -main(int argc, char **argv) { - struct xrandr rr; - struct lock **locks; - struct passwd *pwd; - struct group *grp; - uid_t duid; - gid_t dgid; - const char *hash; - Display *dpy; - int s, nlocks, nscreens; - CARD16 standby, suspend, off; - - ARGBEGIN { - case 'v': - fprintf(stderr, "slock-"VERSION"\n"); - return 0; - default: - usage(); - } ARGEND - - /* validate drop-user and -group */ - errno = 0; - if (!(pwd = getpwnam(user))) - die("slock: getpwnam %s: %s\n", user, - errno ? strerror(errno) : "user entry not found"); - duid = pwd->pw_uid; - errno = 0; - if (!(grp = getgrnam(group))) - die("slock: getgrnam %s: %s\n", group, - errno ? strerror(errno) : "group entry not found"); - dgid = grp->gr_gid; - -#ifdef __linux__ - dontkillme(); -#endif - - hash = gethash(); - errno = 0; - if (!crypt("", hash)) - die("slock: crypt: %s\n", strerror(errno)); - - if (!(dpy = XOpenDisplay(NULL))) - die("slock: cannot open display\n"); - - /* drop privileges */ - if (setgroups(0, NULL) < 0) - die("slock: setgroups: %s\n", strerror(errno)); - if (setgid(dgid) < 0) - die("slock: setgid: %s\n", strerror(errno)); - if (setuid(duid) < 0) - die("slock: setuid: %s\n", strerror(errno)); - - /* check for Xrandr support */ - rr.active = XRRQueryExtension(dpy, &rr.evbase, &rr.errbase); - - /* get number of screens in display "dpy" and blank them */ - nscreens = ScreenCount(dpy); - if (!(locks = calloc(nscreens, sizeof(struct lock *)))) - die("slock: out of memory\n"); - for (nlocks = 0, s = 0; s < nscreens; s++) { - if ((locks[s] = lockscreen(dpy, &rr, s)) != NULL) - nlocks++; - else - break; - } - XSync(dpy, 0); - - /* did we manage to lock everything? */ - if (nlocks != nscreens) - return 1; - - /* DPMS-magic to disable the monitor */ - if (!DPMSCapable(dpy)) - die("slock: DPMSCapable failed\n"); - if (!DPMSEnable(dpy)) - die("slock: DPMSEnable failed\n"); - if (!DPMSGetTimeouts(dpy, &standby, &suspend, &off)) - die("slock: DPMSGetTimeouts failed\n"); - if (!standby || !suspend || !off) - /* set values if there arent some */ - standby = suspend = off = 300; - - DPMSSetTimeouts(dpy, monitortime, monitortime, monitortime); - XFlush(dpy); - - /* run post-lock command */ - if (argc > 0) { - switch (fork()) { - case -1: - die("slock: fork failed: %s\n", strerror(errno)); - case 0: - monitorreset(dpy, standby, suspend, off); - - if (close(ConnectionNumber(dpy)) < 0) - die("slock: close: %s\n", strerror(errno)); - execvp(argv[0], argv); - fprintf(stderr, "slock: execvp %s: %s\n", argv[0], strerror(errno)); - _exit(1); - } - } - - /* everything is now blank. Wait for the correct password */ - readpw(dpy, &rr, locks, nscreens, hash); - - /* reset DPMS values to inital ones */ - monitorreset(dpy, standby, suspend, off); - - return 0; -} diff --git a/pre/slock-1.4/slock.o b/pre/slock-1.4/slock.o deleted file mode 100644 index c43ffa5d4d171b35573b2ec76a977444f923b09d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12560 zcmb`Ne{fvIeZW`0Y}p8%{DUG4g>(E&tbh-l46$r1qLc3IclOCvY&pmnbDZv;tV1W= z&AWG&MED^_IyaBwh^IJA(lRa6aXPdiDNSj?K#fdnE3~ws?$D4)8oM)0L8B08QygQ5 zT)*G_ar)|6Z<;^4o_o9d+3$Y$yWicnyKm)3Ly@hO6%|Z{3U(Kp%PGp(+qcf8+j+8` zEn^K#f9x0ULRPmeZJloSXwAAE(OM&RP-~AsN}rsvHhP+ZTDPYuqTTOl>d`Wurf0Nq zsN-omrXAt&^V+jKeo=dY$FFHq5GV9P_1bli&_P?He@ZV-YUg?Ol5YP8!dkr;)VzA3 z4JbQ-W=~gZwHO7p>Sl;hsG)QXq}c0NERun{178X34cqSodiMH1+@srR`Nd?7-)*SLrMeN`5(un=O zD6miJprctY9vNq)l0I>%ZA8=CiY3N!SLtA2^VN`?U8b*p0b*!>$w-YD9a-yHQR^zt z;a9QWWi|JE4*#V9V8%!KW0y)$-*fnBWNnqD+6K?$3UK7eTD=Whu)6iO>rrBoPlC2u zOy@U(#LOyq=xxh*mGhu%q*iaMg52zKy=^(C{{U2PTfx&OAUy+>*_p{(8*!xc;`16N zq#p_vjI;ew*q)w-!ZOZJ<(dM8FDYm7f#&{~b3(UI`lm$c?6ta3G7SSEP<{%>B9y;i z)t^XUn`$&)!B^k}KA=r77zPM!nZu&K|HHuR;21V@6dqmn`QsqNUcm=w(&H27F?I6% zV!dkO156e&axTv96BY9xTKC!?l>X_=WHs;fY#{$8%)E8hCfOs;iKBdK=mmD6y1O#B zT8~39p&zV`C*^d?H~W@*u-ZQq3cS4U;j8TFOpR2C-^bi=-1DJB9D| z{sVz~0|x^41)@KI##uI%jt_43#?7&ewb{EiyOia!hUqniEpyB}oVL9E>D+LF9W>Lq z%oUVZUhntajE`2 z8-g}PyV4Ti2TjUHRE_?0#uzS(uT3bP8;|1W8fE=+=43{o);t^Iv0-$LX;@~`IAnM;v21oE zZ6<_+mag?2fMrWbjC7#)cRw|lrg6Wi$Y>(7bw|gSUt%h1I*5P9mUYnpk(t$4aavLF-DE} zp-g$mZ_AkJ_-$Du)qh($JrvEx)20!PB_3dXsaSlFt!Zw)`6=sx@z(V@&4Vs%$b`^;mDVRbF?Q@~6& zw2ewo*=$iR0isN|Pdj&y&letsn%u~Isk~y?Z|KE4aFvisXFGz0fd-kG4q=Jfm|zFG z^>@;m zw0$A9Ye6kYgY&MD#md)bX7+(!l?Pwb3+-@R6JCYM&XQ8%ukIisNhdPK~SB-+=Rxs&_|*f zH=!O7(u+M>k6yI2ZrH`7RqW#I zFCN$7^bW^>m9^pcq6i$V2O{>T^J-!)2)l3fl&UZp2_FYMzFs-z)y6?BanZ91zyH(_|JlZlBI!-qIv+{yopoZ zP`;FVC{P#i3PP{5v^*$r<& zVB&Jc$lAa}sbb_NUin0d;jjqDD!t?nkbfXpjmrPi` z%Ki&w*Kn`Gac(6X_%u%*v*j}RvctkQ`PIv~e5sd5tTD*rg6r_1G>Q{%0AI6SVG*gm z1;qMc6ndG}fbjscYB3&Vxoi4i@JDa0z-T~3y|-2z#~0%je4N0?T+_-1sO)8)Ctrs` z(b~ktlC=b0+f_5)0k*)ZG#l}}1Xg-pLM!cao|npo5_gmvDtuLbEWpCDY5{F>O@@!q zaAAukOqdfB0~0RPsSyj?V$D~3Cixu3Gkqfr?n-oB1PtJ(>kpt4%*|jBQXf%egK;`M zq2bmKNANoS;a=WQA3KF-1ji8^8*mTXIy*Oe*KOOmx5?Y;Yw`KLEzSN`zrSUpsIpSl ztaxxYs~BylxV~<2?Gb1L`3eoF{6R2-Kyr{Fjbz<@M`t#LQKdY*51r(@X2O=N}RXXZn8TuMjABP`?Amp98I#5># zbp=q@w)(d#t2(Re->n2&Dm&{xfM!3g4Ax(Sc)ThKrTtJAg0g!d4nTe%#9ffzC1tx% zgXUrlH{*&2_PLt<7k(yQ5vurtd&|i5~82DN@Dom6;!|hAhgL zJU=u-wgT2m6)>+t72%3uT*a=U*>bvy)s@pK@j0Hj(*Dm& z&KEo-46(QttKsvDVCI+dgA_vgi;^#Q@H-_p9lTv~(f(XvNb<+$5KnEFyv{L{yClc0 ziH07YsbR+`g!Da6rIT!wk z3y;CPTu4tf_;(@hap5anc#{jqJIRIg>n?n!3&;7lkRHQ@r(C${!XI|w1sDFT3;(VQ zf7ONm(1rg5_;Rui^ZgFS_UFKtvHvcql~~2^x#;=OgB7fdINsndf#!cV*Kw_W%-7yb(ue#wPb zxU3tCUHA$YexnQbx$wJOc*uosci~sN^lP7s{QWLm+=u$&ERi&rX~Ytl5oRTaSUjCd zyj?@nXX3LS#GdhEIZ#l~nRm5e8?Xy1c|nHEBk zbb2tC*#lSA!v|5sG>6ksxb=@&$@DPe7yr2 z4+UdZOv!X7M}cPvCM9C2Ka0D?mb4zh+E;|OwK}| zk_^__AurP5FD)s{NUD^ru5)CiUIju@KgNX z2>%k{vxK)3zD0hQqMiWZI|--qCgB}K9xsqFpq@_nDSLbfAz=6L8&2^tgb;HP*V zAq3>q&qYp!e(L9MNsjWkuPZ&``$Ndn`S7R(CtY9deVxrNA6{VjxFL-cGS9NSRs z?j!v72=62OTEYhBu5+ZPDIJSMfi1upCx+e z{88V(*zOJ@ufBg#|0=>iA^NF*E))IK&KeYgfYJ5vQ+BSB9NVSxtBE|`>nZtW!hfIe zHo|Wtdv<~e!{7qjV^k&6CNdc`U$_E@FAjq9pR4<`557O zB9DDgc7B`4_YwX)k^chWpAz{v;gyRa0|9j>;HUJjAlxAQ3xw16%P%?l{}v*@lgQI{ z_YvMt5fp89jCycolAr2bq%IQ6HG@J`Y$BzeGX6{pPFDv_7s z@HY{`Z;>3&ei#(rAi0-Q@jjycD&U@l0U7>Y#0-Q<5plLerg`McjtyC{KIVguWf2dk zlxd`5J`29lnJDPkgS&#V5RjN@J(X{V#6tedtQHcj@=p`!KWszUul$F5D(ZBY$;Rai zq2xe>2lbw)Jf0C2YX3Q0JR#^J;@`s9wzK^~VAy`MlvB|+WkWbWXi)uEu?2-HP38W^ zX{ao8%G$C%eYa8cWm#W+N6G4C`&E7t5)1YJ;|2O(2eQuoqdm^HQTG&nY(e-~E+QUC o!c!tDKb`ge7wkB3rvLx| diff --git a/pre/slock-1.4/util.h b/pre/slock-1.4/util.h deleted file mode 100644 index 6f748b8..0000000 --- a/pre/slock-1.4/util.h +++ /dev/null @@ -1,2 +0,0 @@ -#undef explicit_bzero -void explicit_bzero(void *, size_t);