diff --git a/shadow-fix-print-login-timeout.patch b/shadow-fix-print-login-timeout.patch new file mode 100644 index 0000000..3982d19 --- /dev/null +++ b/shadow-fix-print-login-timeout.patch @@ -0,0 +1,41 @@ +From 670cae834827a8f794e6f7464fa57790d911b63c Mon Sep 17 00:00:00 2001 +From: SoumyaWind <121475834+SoumyaWind@users.noreply.github.com> +Date: Tue, 27 Dec 2022 17:40:17 +0530 +Subject: [PATCH] shadow: Fix can not print full login timeout message + +Login timed out message prints only first few bytes when write is immediately followed by exit. +Calling exit from new handler provides enough time to display full message. +--- + src/login.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/src/login.c b/src/login.c +index 116e2cb3..c55f4de0 100644 +--- a/src/login.c ++++ b/src/login.c +@@ -120,6 +120,7 @@ static void get_pam_user (char **ptr_pam_user); + + static void init_env (void); + static void alarm_handler (int); ++static void exit_handler (int); + + /* + * usage - print login command usage and exit +@@ -391,11 +392,16 @@ static void init_env (void) + #endif /* !USE_PAM */ + } + ++static void exit_handler (unused int sig) ++{ ++ _exit (0); ++} + + static void alarm_handler (unused int sig) + { + write (STDERR_FILENO, tmsg, strlen (tmsg)); +- _exit (0); ++ signal(SIGALRM, exit_handler); ++ alarm(2); + } + + #ifdef USE_PAM diff --git a/shadow.changes b/shadow.changes index f4508f4..a619b6b 100644 --- a/shadow.changes +++ b/shadow.changes @@ -1,8 +1,16 @@ +------------------------------------------------------------------- +Fri Jan 13 08:21:46 UTC 2023 - Michael Vetter + +- Add shadow-fix-print-login-timeout.patch: + Fix printing full login timeout message + See gh/shadow-maint/shadow#621 + ------------------------------------------------------------------- Fri Dec 16 10:04:44 UTC 2022 - Michael Vetter - bsc#1205502: Fix useradd audit event logging of ID field * Add shadow-audit-no-id.patch + See gh/shadow-maint/shadow#606 ------------------------------------------------------------------- Tue Nov 8 21:15:44 UTC 2022 - Michael Vetter diff --git a/shadow.spec b/shadow.spec index 59e16e6..4a793b0 100644 --- a/shadow.spec +++ b/shadow.spec @@ -1,7 +1,7 @@ # # spec file for package shadow # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -53,12 +53,14 @@ Patch4: shadow-util-linux.patch Patch5: shadow-login_defs-comments.patch # PATCH-FEATURE-SUSE shadow-login_defs-suse.patch kukuk@suse.com -- Customize login.defs. Patch6: shadow-login_defs-suse.patch -# PATCH-FEATURE-SUSE Copy also skeleton files from /usr/etc/skel (boo#1173321) +# PATCH-FEATURE-SUSE Copy also skeleton files from /usr/etc/skel (boo#1173321) (gh/shadow-maint/shadow#591) Patch7: useradd-userkeleton.patch # PATCH-FIX-SUSE disable_new_audit_function.patch adam.majer@suse.de -- Disable newer libaudit functionality for older distributions. Patch8: disable_new_audit_function.patch # PATCH-FIX-UPSTREAM shadow-audit-no-id.patch mvetter@suse.com -- Fix useradd audit event logging of ID field (bsc#1205502) (gh/shadow-maint/shadow#606) Patch9: shadow-audit-no-id.patch +# PATCH-FIX-UPSTREAM shadow-fix-print-login-timeout.patch mvetter@suse.com -- Fix print full login timeout message (gh/shadow-maint/shadow#621) +Patch10: https://github.com/shadow-maint/shadow/commit/670cae834827a8f794e6f7464fa57790d911b63c.patch#/shadow-fix-print-login-timeout.patch BuildRequires: audit-devel > 2.3 BuildRequires: autoconf BuildRequires: automake @@ -129,6 +131,7 @@ Development files for libsubid4. %patch8 -p1 %endif %patch9 -p1 +%patch10 -p1 iconv -f ISO88591 -t utf-8 doc/HOWTO > doc/HOWTO.utf8 mv -v doc/HOWTO.utf8 doc/HOWTO