diff mbox series

linux-pam: add patch for spurious password expires in 0 days warning

Message ID 20240327140125.154985-1-andreas.hilse@gmail.com
State New
Headers show
Series linux-pam: add patch for spurious password expires in 0 days warning | expand

Commit Message

Andreas Hilse March 27, 2024, 2:01 p.m. UTC
Buildroot 2024.02 brings updated linux-pam 1.6.0 package which has a
regression, that warns users about their password expiring in 0 days
when logging in, even with password expiration not being active.
There is no newer version released yet.
Patch is working as intended, tested by me.

Patch taken from linux-pam PR: https://github.com/linux-pam/linux-pam/pull/744

Signed-off-by: Andreas Hilse <andreas.hilse@gmail.com>
---
 .../0002-do-not-warn-if-password-aging.patch  | 27 +++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100644 package/linux-pam/0002-do-not-warn-if-password-aging.patch
diff mbox series

Patch

diff --git a/package/linux-pam/0002-do-not-warn-if-password-aging.patch b/package/linux-pam/0002-do-not-warn-if-password-aging.patch
new file mode 100644
index 0000000000..7df83bf058
--- /dev/null
+++ b/package/linux-pam/0002-do-not-warn-if-password-aging.patch
@@ -0,0 +1,27 @@ 
+From 470b5bdd8fd29d6b35e3a80f9a57bdd4b2438200 Mon Sep 17 00:00:00 2001
+From: Tobias Stoeckmann <tobias@stoeckmann.org>
+Date: Fri, 19 Jan 2024 10:09:00 +0100
+Subject: [PATCH] pam_unix: do not warn if password aging is disabled
+
+Later checks will print a warning if daysleft is 0. If password
+aging is disabled, leave daysleft at -1.
+
+Resolves: https://github.com/linux-pam/linux-pam/issues/743
+Fixes: 9ebc14085a3b ("pam_unix: allow disabled password aging")
+Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
+---
+ modules/pam_unix/passverify.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/modules/pam_unix/passverify.c b/modules/pam_unix/passverify.c
+index 5c4f862e7..1bc98fa25 100644
+--- a/modules/pam_unix/passverify.c
++++ b/modules/pam_unix/passverify.c
+@@ -314,7 +314,6 @@ PAMH_ARG_DECL(int check_shadow_expiry,
+ 	}
+ 	if (spent->sp_lstchg < 0) {
+ 		D(("password aging disabled"));
+-		*daysleft = 0;
+ 		return PAM_SUCCESS;
+ 	}
+ 	if (curdays < spent->sp_lstchg) {