Go to file
FRIGN 22eba05f36 Ensure Polyphemus-Mitigation and properly drop privileges
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)
2016-09-08 00:36:45 +02:00
LICENSE Update license year 2016-02-11 16:30:52 +01:00
Makefile clear passwords with explicit_bzero 2016-08-13 09:58:00 +02:00
README removed useless chars, prepared release 2008-07-29 19:08:18 +01:00
arg.h Refactor main() 2016-08-22 23:22:20 +02:00
config.def.h Ensure Polyphemus-Mitigation and properly drop privileges 2016-09-08 00:36:45 +02:00
config.mk Ensure Polyphemus-Mitigation and properly drop privileges 2016-09-08 00:36:45 +02:00
explicit_bzero.c clear passwords with explicit_bzero 2016-08-13 09:58:00 +02:00
slock.1 Convert manpage to mandoc and fix usage 2016-08-31 01:04:11 +02:00
slock.c Ensure Polyphemus-Mitigation and properly drop privileges 2016-09-08 00:36:45 +02:00
util.h clear passwords with explicit_bzero 2016-08-13 09:58:00 +02:00

README

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.