forked from pool/util-linux
sulogin
OBS-URL: https://build.opensuse.org/package/show/Base:System/util-linux?expand=0&rev=435
This commit is contained in:
parent
9ae5124e0d
commit
fd21f8d012
69
util-linux-sulogin4bsc1175514.patch
Normal file
69
util-linux-sulogin4bsc1175514.patch
Normal file
@ -0,0 +1,69 @@
|
||||
From: Werner Fink <werner@suse.de>
|
||||
Date: Fri, 30 Oct 2020 14:54:59 +0100
|
||||
Subject: [PATCH] sulogin: ignore not existing console devices
|
||||
|
||||
and also not functional console devices. Redirect the error
|
||||
messages to the appropiate console device.
|
||||
|
||||
---
|
||||
sulogin.c | 11 ++++++++---
|
||||
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/login-utils/sulogin.c b/login-utils/sulogin.c
|
||||
index 9091caf14..7ee8f2dc7 100644
|
||||
--- a/login-utils/sulogin.c
|
||||
+++ b/login-utils/sulogin.c
|
||||
@@ -608,7 +608,7 @@ static const char *getpasswd(struct console *con)
|
||||
struct termios tty;
|
||||
static char pass[128], *ptr;
|
||||
struct chardata *cp;
|
||||
- const char *ret = pass;
|
||||
+ const char *ret = NULL;
|
||||
unsigned char tc;
|
||||
char c, ascval;
|
||||
int eightbit;
|
||||
@@ -618,6 +618,7 @@ static const char *getpasswd(struct console *con)
|
||||
goto out;
|
||||
cp = &con->cp;
|
||||
tty = con->tio;
|
||||
+ ret = pass;
|
||||
|
||||
tty.c_iflag &= ~(IUCLC|IXON|IXOFF|IXANY);
|
||||
tty.c_lflag &= ~(ECHO|ECHOE|ECHOK|ECHONL|TOSTOP|ISIG);
|
||||
@@ -647,11 +648,12 @@ static const char *getpasswd(struct console *con)
|
||||
}
|
||||
ret = NULL;
|
||||
switch (errno) {
|
||||
- case 0:
|
||||
case EIO:
|
||||
+ con->flags |= CON_NOTTY;
|
||||
case ESRCH:
|
||||
case EINVAL:
|
||||
case ENOENT:
|
||||
+ case 0:
|
||||
break;
|
||||
default:
|
||||
warn(_("cannot read %s"), con->tty);
|
||||
@@ -968,10 +970,13 @@ int main(int argc, char **argv)
|
||||
con = list_entry(ptr, struct console, entry);
|
||||
if (con->id >= CONMAX)
|
||||
break;
|
||||
+ if (con->flags & CON_NOTTY)
|
||||
+ goto next;
|
||||
|
||||
switch ((con->pid = fork())) {
|
||||
case 0:
|
||||
mask_signal(SIGCHLD, SIG_DFL, NULL);
|
||||
+ dup2(con->fd, STDERR_FILENO);
|
||||
nofork:
|
||||
setup(con);
|
||||
while (1) {
|
||||
@@ -1026,7 +1031,7 @@ int main(int argc, char **argv)
|
||||
default:
|
||||
break;
|
||||
}
|
||||
-
|
||||
+ next:
|
||||
ptr = ptr->next;
|
||||
|
||||
} while (ptr != &consoles);
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 30 14:03:47 UTC 2020 - Dr. Werner Fink <werner@suse.de>
|
||||
|
||||
- Add patch util-linux-sulogin4bsc1175514.patch
|
||||
Avoid sulogin failing on not existing or not functional console
|
||||
devices (bsc#1175514)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 16 00:10:11 UTC 2020 - Stanislav Brabec <sbrabec@suse.com>
|
||||
|
||||
|
@ -127,6 +127,8 @@ Source51: blkid.conf
|
||||
Patch0: make-sure-sbin-resp-usr-sbin-are-in-PATH.diff
|
||||
Patch1: libmount-print-a-blacklist-hint-for-unknown-filesyst.patch
|
||||
Patch2: Add-documentation-on-blacklisted-modules-to-mount-8-.patch
|
||||
# PATCH-FIX-SUSE: Avoid sulogin failing on not existing or not functional console devices
|
||||
Patch3: util-linux-sulogin4bsc1175514.patch
|
||||
#
|
||||
%if %{with base}
|
||||
%if 0%{?suse_version} >= 1330
|
||||
|
Loading…
Reference in New Issue
Block a user