Stop using $USER for shadow entries
authorFRIGN <dev@frign.de>
Sun, 11 Sep 2016 21:17:53 +0000 (23:17 +0200)
committerMarkus Teich <markus.teich@stusta.mhn.de>
Fri, 23 Sep 2016 16:54:56 +0000 (18:54 +0200)
commitdc2e8e839e4d72f5fec36c9a0474e6062a7a8f51
tree96a61fe42f121ff860cd2f225472db7c400feba0
parent9a617db716641da8489e2062e04098220954bffe
Stop using $USER for shadow entries

This was extremely bad practice, effectively making the program behave
different depending on which architecture you are running it on.

OpenBSD offers getpwuid_shadow, but there is no getspuid for getspnam,
so we resort to using the pw_name entry in the struct passwd we filled
earlier.

This prevents slock from crashing when $USER is empty (easy to do). If
you want to run slock as a different user, don't use

$ USER="tom" slock

but doas or sudo which were designed for this purpose.
slock.c