summaryrefslogtreecommitdiff
path: root/app-misc/physlock
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2021-10-26 00:10:07 +0100
committerV3n3RiX <venerix@koprulu.sector>2021-10-26 00:10:07 +0100
commit95461df035e3867364495f065e5e805bf629b2d7 (patch)
tree867dce371a84a696e91be255d89f282975aa0480 /app-misc/physlock
parent46eedbedafdb0040c37884982d4c775ce277fb7b (diff)
gentoo resync : 25.10.2021
Diffstat (limited to 'app-misc/physlock')
-rw-r--r--app-misc/physlock/Manifest3
-rw-r--r--app-misc/physlock/files/physlock-13-Set-PAM_TTY.patch88
-rw-r--r--app-misc/physlock/physlock-13-r2.ebuild (renamed from app-misc/physlock/physlock-13-r1.ebuild)6
3 files changed, 95 insertions, 2 deletions
diff --git a/app-misc/physlock/Manifest b/app-misc/physlock/Manifest
index bce1db105a69..3d35e1bf9b16 100644
--- a/app-misc/physlock/Manifest
+++ b/app-misc/physlock/Manifest
@@ -1,3 +1,4 @@
+AUX physlock-13-Set-PAM_TTY.patch 2092 BLAKE2B e45111cd8c52234dda1ccc94403bfb8d11033681ed5d8460f0096776125d0aeddd1e369972a048f21f8777878a9919c0d7e65a4afdf17d73300198277cd1095d SHA512 1875b2318bf601ceb22c12ed1a36c2521604de6795a0925158ad7d5a7b4d4c20519bfc534a1d116634f926c4c6289aa3b1112ee4b63ec3870df5787b73908c0d
DIST physlock-13.tar.gz 14123 BLAKE2B a43f151c1660c38bd028f80742637a51d5108e6769161c88fb269ac03c827e49bd20e521b8face6aa6a71a8ab65ddf8662e81e8251b74c13388070ed04d4e13b SHA512 85c291fb7b146fbd81aacbf94d8af07e727dd9b37b458988eaee5f7a51f9923871f9b19fd9438428635963864de67d3f2a72f938d99ffe6dc3015c3a1b99ea1c
-EBUILD physlock-13-r1.ebuild 827 BLAKE2B 0318aeaf8aa83b09543d73359793c089dc0e9877de7a33d098bae3d4b30ffbce073f4b82a8829814f9ed47dd9118f166be4d82c98455ce01be12bd48d96a86d5 SHA512 cf974db0960391066be2f53345b7c6f5810e107d46d07e8cebbd48193222aa03b7f1c2309a193b3265e5fadd5e58ef3202f03d903b64769e317cc37bb6a129ab
+EBUILD physlock-13-r2.ebuild 877 BLAKE2B 277da86ba9f60e9cb34e8db56f32b6fa1b2457f3e0f9e20fc8701933d910e9202eacecce6a350876a163c439ddcbfad313cce8fbad281faebaeff47e2b7cf5df SHA512 ba74451596593913fe2c13c3bc4693acafe10c2fe875f9fbea1d415a53645b044d49ea92ea1d7431949f5b6269983e1c0f2048d6753608518d02cfdec77bb8d9
MISC metadata.xml 981 BLAKE2B e5dc78945499f68b27b3f5ccaccb28f1a60c64b535367779b1c29a0c307ce05d232f1242882aa484001c160699f918480c6aa933166bc3c7e878c46c6f013907 SHA512 9356f9a896d944dc1595ce3fffaf974ae8ffc144ee65ccc7e86ab56eedeba29e7a732956aade68500b496f4efdf5bd00efb4e5d32521636081885d7ff2ec0d73
diff --git a/app-misc/physlock/files/physlock-13-Set-PAM_TTY.patch b/app-misc/physlock/files/physlock-13-Set-PAM_TTY.patch
new file mode 100644
index 000000000000..51df30f019bc
--- /dev/null
+++ b/app-misc/physlock/files/physlock-13-Set-PAM_TTY.patch
@@ -0,0 +1,88 @@
+From 26630cebf4dd70d38d56b018680916c75ed0eb61 Mon Sep 17 00:00:00 2001
+From: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
+Date: Sun, 7 Mar 2021 14:19:18 -0600
+Subject: [PATCH] Set PAM_TTY
+
+Fixes issue with pam_securetty.so being unable to authenticate due to
+unknown TTY.
+
+Bug: https://bugs.gentoo.org/774729
+
+Signed-off-by: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
+---
+ main.c | 7 +++++++
+ physlock.h | 1 +
+ vt.c | 6 ++++++
+ 3 files changed, 14 insertions(+)
+
+diff --git a/main.c b/main.c
+index 9287802..8bf064c 100644
+--- a/main.c
++++ b/main.c
+@@ -27,6 +27,7 @@
+ #include <pwd.h>
+ #include <signal.h>
+ #include <security/pam_misc.h>
++#include <security/pam_modules.h>
+
+ static int oldvt;
+ static vt_t vt;
+@@ -175,6 +176,12 @@ int main(int argc, char **argv) {
+ }
+ vt_secure(&vt);
+
++ /* Attempt to set PAM_TTY to the current VT, fixes #110 */
++ u->pam_status = pam_set_item(u->pamh, PAM_TTY, vt.vt_name);
++ if (u->pam_status != PAM_SUCCESS) {
++ error(EXIT_FAILURE, 0, "Unable to set PAM_TTY: %s", pam_strerror(u->pamh, u->pam_status));
++ }
++
+ dup2(vt.fd, 0);
+ dup2(vt.fd, 1);
+ dup2(vt.fd, 2);
+diff --git a/physlock.h b/physlock.h
+index d08c829..9964f36 100644
+--- a/physlock.h
++++ b/physlock.h
+@@ -85,6 +85,7 @@ typedef struct vt_s {
+ int nr;
+ FILE *ios;
+ int fd;
++ char *vt_name;
+ struct termios term;
+ struct termios term_orig;
+ } vt_t;
+diff --git a/vt.c b/vt.c
+index 648b6a0..7431c8f 100644
+--- a/vt.c
++++ b/vt.c
+@@ -79,6 +79,7 @@ void vt_acquire(vt_t *vt) {
+ vt->nr = -1;
+ vt->ios = NULL;
+ vt->fd = -1;
++ vt->vt_name = NULL;
+
+ while ((ret = ioctl(fd, VT_OPENQRY, &vt->nr)) == -1 && errno == EINTR);
+ if (ret == -1)
+@@ -89,6 +90,7 @@ void vt_acquire(vt_t *vt) {
+ if (vt->ios == NULL)
+ error(EXIT_FAILURE, errno, "%s", filename);
+ vt->fd = fileno(vt->ios);
++ vt->vt_name = estrdup(filename);
+
+ while ((ret = ioctl(fd, VT_ACTIVATE, vt->nr)) == -1 && errno == EINTR);
+ if (ret == -1)
+@@ -139,6 +141,10 @@ CLEANUP int vt_release(vt_t *vt, int nr) {
+ }
+ vt->nr = -1;
+ }
++
++ if (vt->vt_name != NULL) {
++ free(vt->vt_name);
++ }
+ return 0;
+ }
+
+--
+2.26.2
+
diff --git a/app-misc/physlock/physlock-13-r1.ebuild b/app-misc/physlock/physlock-13-r2.ebuild
index b817bc5f5665..0ae63dfa9ec5 100644
--- a/app-misc/physlock/physlock-13-r1.ebuild
+++ b/app-misc/physlock/physlock-13-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -22,6 +22,10 @@ DEPEND="${RDEPEND}
systemd? ( sys-apps/systemd )
"
+PATCHES=(
+ "${FILESDIR}/${PN}-13-Set-PAM_TTY.patch"
+)
+
pkg_setup() {
export MY_CONF="HAVE_SYSTEMD=$(usex systemd 1 0) HAVE_ELOGIND=$(usex elogind 1 0)"
}