summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stapelberg <michael@stapelberg.de>2015-11-05 23:22:08 +0100
committerMichael Stapelberg <michael@stapelberg.de>2015-11-05 23:22:08 +0100
commit688d49d5b897ac79a35266428bc43639a5b96169 (patch)
tree37e201a07e7f97aa6de5ff98f4d91cc3131d024c
parent929e541fb78aa167fc52eb684d4fdff8b305b246 (diff)
fix pam_securetty: set PAM_TTY to getenv("DISPLAY")
fixes #43
-rw-r--r--i3lock.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/i3lock.c b/i3lock.c
index a7b54f5..3a106ce 100644
--- a/i3lock.c
+++ b/i3lock.c
@@ -834,8 +834,10 @@ int main(int argc, char *argv[]) {
srand(time(NULL));
/* Initialize PAM */
- ret = pam_start("i3lock", username, &conv, &pam_handle);
- if (ret != PAM_SUCCESS)
+ if ((ret = pam_start("i3lock", username, &conv, &pam_handle)) != PAM_SUCCESS)
+ errx(EXIT_FAILURE, "PAM: %s", pam_strerror(pam_handle, ret));
+
+ if ((ret = pam_set_item(pam_handle, PAM_TTY, getenv("DISPLAY"))) != PAM_SUCCESS)
errx(EXIT_FAILURE, "PAM: %s", pam_strerror(pam_handle, ret));
/* Using mlock() as non-super-user seems only possible in Linux. Users of other