22eba05f36
Don't hide privilege drops inside readpw() and actually make it configurable what you are dropping to in config.h. The privilege drop comes after opening the Display because the user "nobody" with "nogroup" can't do that. So why do I call this strategy the Polyphemus-Mitigation? """ After the giant returns in the evening and eats two more of the men, Odysseus offers Polyphemus some strong and undiluted wine given to him earlier on his journey. Drunk and unwary, the giant asks Odysseus his name, promising him a guest-gift if he answers. Odysseus tells him "Οὖτις", which means "nobody" and Polyphemus promises to eat this "Nobody" last of all. With that, he falls into a drunken sleep. Odysseus had meanwhile hardened a wooden stake in the fire and now drives it into Polyphemus' eye. When Polyphemus shouts for help from his fellow giants, saying that "Nobody" has hurt him, they think Polyphemus is being afflicted by divine power and recommend prayer as the answer. """ (source: https://en.wikipedia.org/wiki/Polyphemus)
31 lines
741 B
Makefile
31 lines
741 B
Makefile
# slock version
|
|
VERSION = 1.3
|
|
|
|
# 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 *BSD remove -DHAVE_SHADOW_H from CPPFLAGS
|
|
# On OpenBSD and Darwin remove -lcrypt from LIBS
|
|
#LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 -lXext -lXrandr
|
|
#CPPFLAGS = -DVERSION=\"${VERSION}\" -D_BSD_SOURCE
|
|
#COMPATSRC =
|
|
|
|
# compiler and linker
|
|
CC = cc
|