mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 01:39:16 -04:00
x11/swaylock: unbreak PAM locking
Since 1.5 it includes "login" service which doesn't ask for password from user running Wayland session. Before pam_authenticate(3) failed with PAM_AUTH_ERR due to missing permissions password database. PR: 248053 Reported by: many Submitted by: andrew|_|tao11.riddles.org.uk, jbeich Tested by: ashish
This commit is contained in:
parent
be168bec43
commit
2008b683e1
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=542450
3 changed files with 36 additions and 1 deletions
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
PORTNAME= swaylock
|
PORTNAME= swaylock
|
||||||
DISTVERSION= 1.5
|
DISTVERSION= 1.5
|
||||||
|
PORTREVISION= 1
|
||||||
CATEGORIES= x11
|
CATEGORIES= x11
|
||||||
|
|
||||||
MAINTAINER= jbeich@FreeBSD.org
|
MAINTAINER= jbeich@FreeBSD.org
|
||||||
|
@ -18,7 +19,7 @@ USES= compiler:c11 gnome meson pkgconfig
|
||||||
USE_GITHUB= yes
|
USE_GITHUB= yes
|
||||||
GH_ACCOUNT= swaywm
|
GH_ACCOUNT= swaywm
|
||||||
USE_GNOME= cairo pango
|
USE_GNOME= cairo pango
|
||||||
PLIST_FILES= bin/${PORTNAME} \
|
PLIST_FILES= "@(,,4755) bin/${PORTNAME}" \
|
||||||
etc/pam.d/${PORTNAME} \
|
etc/pam.d/${PORTNAME} \
|
||||||
share/bash-completion/completions/${PORTNAME} \
|
share/bash-completion/completions/${PORTNAME} \
|
||||||
share/fish/vendor_completions.d/${PORTNAME}.fish \
|
share/fish/vendor_completions.d/${PORTNAME}.fish \
|
||||||
|
|
19
x11/swaylock/files/patch-pam.c
Normal file
19
x11/swaylock/files/patch-pam.c
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
pam_unix(8) requires root priveleges to access master.passwd(5)
|
||||||
|
|
||||||
|
--- pam.c.orig 2019-01-29 19:48:00 UTC
|
||||||
|
+++ pam.c
|
||||||
|
@@ -12,12 +12,14 @@
|
||||||
|
static char *pw_buf = NULL;
|
||||||
|
|
||||||
|
void initialize_pw_backend(int argc, char **argv) {
|
||||||
|
+#ifdef __linux__
|
||||||
|
if (getuid() != geteuid() || getgid() != getegid()) {
|
||||||
|
swaylock_log(LOG_ERROR,
|
||||||
|
"swaylock is setuid, but was compiled with the PAM"
|
||||||
|
" backend. Run 'chmod a-s %s' to fix. Aborting.", argv[0]);
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
if (!spawn_comm_child()) {
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
15
x11/swaylock/files/patch-pam_swaylock
Normal file
15
x11/swaylock/files/patch-pam_swaylock
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
"login" has "auth sufficient pam_self.so" but a screen locker is
|
||||||
|
supposed to ask for password regardless.
|
||||||
|
|
||||||
|
--- pam/swaylock.orig 2019-01-29 19:48:00 UTC
|
||||||
|
+++ pam/swaylock
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
#
|
||||||
|
-# PAM configuration file for the swaylock screen locker. By default, it includes
|
||||||
|
-# the 'login' configuration file (see /etc/pam.d/login)
|
||||||
|
+# PAM configuration for the "swaylock" service. swaylock(1) only uses
|
||||||
|
+# auth facilities.
|
||||||
|
#
|
||||||
|
|
||||||
|
-auth include login
|
||||||
|
+auth include system
|
Loading…
Add table
Reference in a new issue