summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/shadow
diff options
context:
space:
mode:
authorSoumya <soumya.sambu@windriver.com>2023-03-31 16:26:51 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-04-03 11:39:59 +0100
commit3c7f0d2ec6d90b961ba0aae340a50e0930968771 (patch)
treea217ccd144249e59ffd33cb35b4a4040b48929d0 /meta/recipes-extended/shadow
parent6fbae6e06c135a421a7acbc6180ed8c82d94f483 (diff)
downloadpoky-3c7f0d2ec6d90b961ba0aae340a50e0930968771.tar.gz
shadow: Fix can not print full login timeout message
When we do not enter password during login, it is expected to display message "Login timed out after 60 seconds". But it prints only first few bytes(like "Login t") when write is immediately followed by exit. Fix - Calling exit from new handler provides enough time to display full message. Upstream-Status: Accepted [https://github.com/shadow-maint/shadow/commit/670cae834827a8f794e6f7464fa57790d911b63c] (From OE-Core rev: 644cfe9dcf351bfa6c67f4b4d1e7dec416a59021) Signed-off-by: Soumya <soumya.sambu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-extended/shadow')
-rw-r--r--meta/recipes-extended/shadow/files/0001-Fix-can-not-print-full-login.patch41
-rw-r--r--meta/recipes-extended/shadow/shadow.inc1
2 files changed, 42 insertions, 0 deletions
diff --git a/meta/recipes-extended/shadow/files/0001-Fix-can-not-print-full-login.patch b/meta/recipes-extended/shadow/files/0001-Fix-can-not-print-full-login.patch
new file mode 100644
index 0000000000..37ba5f3dc2
--- /dev/null
+++ b/meta/recipes-extended/shadow/files/0001-Fix-can-not-print-full-login.patch
@@ -0,0 +1,41 @@
1commit 670cae834827a8f794e6f7464fa57790d911b63c
2Author: SoumyaWind <121475834+SoumyaWind@users.noreply.github.com>
3Date: Tue Dec 27 17:40:17 2022 +0530
4
5 shadow: Fix can not print full login timeout message
6
7 Login timed out message prints only first few bytes when write is immediately followed by exit.
8 Calling exit from new handler provides enough time to display full message.
9
10Upstream-Status: Accepted [https://github.com/shadow-maint/shadow/commit/670cae834827a8f794e6f7464fa57790d911b63c]
11
12diff --git a/src/login.c b/src/login.c
13index 116e2cb3..c55f4de0 100644
14--- a/src/login.c
15+++ b/src/login.c
16@@ -120,6 +120,7 @@ static void get_pam_user (char **ptr_pam_user);
17
18 static void init_env (void);
19 static void alarm_handler (int);
20+static void exit_handler (int);
21
22 /*
23 * usage - print login command usage and exit
24@@ -391,11 +392,16 @@ static void init_env (void)
25 #endif /* !USE_PAM */
26 }
27
28+static void exit_handler (unused int sig)
29+{
30+ _exit (0);
31+}
32
33 static void alarm_handler (unused int sig)
34 {
35 write (STDERR_FILENO, tmsg, strlen (tmsg));
36- _exit (0);
37+ signal(SIGALRM, exit_handler);
38+ alarm(2);
39 }
40
41 #ifdef USE_PAM
diff --git a/meta/recipes-extended/shadow/shadow.inc b/meta/recipes-extended/shadow/shadow.inc
index 2c70a2d00e..52b10000ee 100644
--- a/meta/recipes-extended/shadow/shadow.inc
+++ b/meta/recipes-extended/shadow/shadow.inc
@@ -14,6 +14,7 @@ GITHUB_BASE_URI = "https://github.com/shadow-maint/shadow/releases"
14SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.gz \ 14SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.gz \
15 ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \ 15 ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \
16 file://useradd \ 16 file://useradd \
17 file://0001-Fix-can-not-print-full-login.patch \
17 " 18 "
18 19
19SRC_URI:append:class-target = " \ 20SRC_URI:append:class-target = " \