logind: pick up tty info from utmp only for tty sessions
Let's tighten the rules for picking up TTY information from utmp: let's do so only for TTY session, nothing else. Apparently people have issues with graphical sessions with certain terminal emulators that install entries in utmp for each emulator window. Alternative for: #38027
This commit is contained in:
@@ -59,6 +59,9 @@ int manager_read_utmp(Manager *m) {
|
||||
if (manager_get_session_by_pidref(m, &PIDREF_MAKE_FROM_PID(u->ut_pid), &s) <= 0)
|
||||
continue;
|
||||
|
||||
if (s->type != SESSION_TTY)
|
||||
continue;
|
||||
|
||||
if (s->tty_validity == TTY_FROM_UTMP && !streq_ptr(s->tty, t)) {
|
||||
/* This may happen on multiplexed SSH connection (i.e. 'SSH connection sharing'). In
|
||||
* this case PAM and utmp sessions don't match. In such a case let's invalidate the TTY
|
||||
|
||||
Reference in New Issue
Block a user