import gdm-40.0-17.el8
This commit is contained in:
parent
7e699ea069
commit
a119e6a8fe
@ -0,0 +1,84 @@
|
|||||||
|
From 56d12ad9697d5695c780a5be0065d23fec6bd1a5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chingkai Chu <3013329+chuchingkai@users.noreply.github.com>
|
||||||
|
Date: Thu, 12 Aug 2021 10:34:01 +0800
|
||||||
|
Subject: [PATCH] session-worker: Set session_vt=0 out of pam uninitialization
|
||||||
|
|
||||||
|
MR GNOME/gdm!123 moved jump_to_vt and session_vt reseting to a
|
||||||
|
separate function, so we don't need to reset session_vt in pam
|
||||||
|
uninitialization.
|
||||||
|
|
||||||
|
https://gitlab.gnome.org/GNOME/gdm/-/issues/719
|
||||||
|
---
|
||||||
|
daemon/gdm-session-worker.c | 2 --
|
||||||
|
1 file changed, 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c
|
||||||
|
index c1201b70..9cff53a5 100644
|
||||||
|
--- a/daemon/gdm-session-worker.c
|
||||||
|
+++ b/daemon/gdm-session-worker.c
|
||||||
|
@@ -1076,62 +1076,60 @@ gdm_session_worker_set_state (GdmSessionWorker *worker,
|
||||||
|
|
||||||
|
static void
|
||||||
|
gdm_session_worker_uninitialize_pam (GdmSessionWorker *worker,
|
||||||
|
int status)
|
||||||
|
{
|
||||||
|
g_debug ("GdmSessionWorker: uninitializing PAM");
|
||||||
|
|
||||||
|
if (worker->priv->pam_handle == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
gdm_session_worker_get_username (worker, NULL);
|
||||||
|
|
||||||
|
if (worker->priv->state >= GDM_SESSION_WORKER_STATE_SESSION_OPENED) {
|
||||||
|
pam_close_session (worker->priv->pam_handle, 0);
|
||||||
|
gdm_session_auditor_report_logout (worker->priv->auditor);
|
||||||
|
} else {
|
||||||
|
gdm_session_auditor_report_login_failure (worker->priv->auditor,
|
||||||
|
status,
|
||||||
|
pam_strerror (worker->priv->pam_handle, status));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (worker->priv->state >= GDM_SESSION_WORKER_STATE_ACCREDITED) {
|
||||||
|
pam_setcred (worker->priv->pam_handle, PAM_DELETE_CRED);
|
||||||
|
}
|
||||||
|
|
||||||
|
pam_end (worker->priv->pam_handle, status);
|
||||||
|
worker->priv->pam_handle = NULL;
|
||||||
|
|
||||||
|
gdm_session_worker_stop_auditor (worker);
|
||||||
|
|
||||||
|
- worker->priv->session_vt = 0;
|
||||||
|
-
|
||||||
|
g_debug ("GdmSessionWorker: state NONE");
|
||||||
|
gdm_session_worker_set_state (worker, GDM_SESSION_WORKER_STATE_NONE);
|
||||||
|
}
|
||||||
|
|
||||||
|
static char *
|
||||||
|
_get_tty_for_pam (const char *x11_display_name,
|
||||||
|
const char *display_device)
|
||||||
|
{
|
||||||
|
#ifdef __sun
|
||||||
|
return g_strdup (display_device);
|
||||||
|
#else
|
||||||
|
return g_strdup (x11_display_name);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef PAM_XAUTHDATA
|
||||||
|
static struct pam_xauth_data *
|
||||||
|
_get_xauth_for_pam (const char *x11_authority_file)
|
||||||
|
{
|
||||||
|
FILE *fh;
|
||||||
|
Xauth *auth = NULL;
|
||||||
|
struct pam_xauth_data *retval = NULL;
|
||||||
|
gsize len = sizeof (*retval) + 1;
|
||||||
|
|
||||||
|
fh = fopen (x11_authority_file, "r");
|
||||||
|
if (fh) {
|
||||||
|
auth = XauReadAuth (fh);
|
||||||
|
fclose (fh);
|
||||||
|
}
|
||||||
|
if (auth) {
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -12,7 +12,7 @@
|
|||||||
Name: gdm
|
Name: gdm
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 40.0
|
Version: 40.0
|
||||||
Release: 16%{?dist}
|
Release: 17%{?dist}
|
||||||
Summary: The GNOME Display Manager
|
Summary: The GNOME Display Manager
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -42,6 +42,9 @@ Patch70001: 0001-Revert-gdm-wayland-x-session-don-t-overwrite-user-en.patch
|
|||||||
# Crash fix
|
# Crash fix
|
||||||
Patch80001: 0001-local-display-factory-Don-t-try-to-respawn-displays-.patch
|
Patch80001: 0001-local-display-factory-Don-t-try-to-respawn-displays-.patch
|
||||||
|
|
||||||
|
# VT handling fix from upstream
|
||||||
|
Patch90001: 0001-session-worker-Set-session_vt-0-out-of-pam-uninitial.patch
|
||||||
|
|
||||||
# Non-upstreamable workarounds
|
# Non-upstreamable workarounds
|
||||||
Patch66610001: 0001-local-display-factory-pause-for-a-few-seconds-before.patch
|
Patch66610001: 0001-local-display-factory-pause-for-a-few-seconds-before.patch
|
||||||
Patch66620001: 0001-data-reap-gdm-sessions-on-shutdown.patch
|
Patch66620001: 0001-data-reap-gdm-sessions-on-shutdown.patch
|
||||||
@ -364,6 +367,10 @@ fi
|
|||||||
%{_libdir}/pkgconfig/gdm-pam-extensions.pc
|
%{_libdir}/pkgconfig/gdm-pam-extensions.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Oct 13 2021 Ray Strode <rstrode@redhat.com> - 40.0-17
|
||||||
|
- Properly switch VTs when jumping to multi-user target
|
||||||
|
Related: #1988958
|
||||||
|
|
||||||
* Wed Sep 15 2021 Ray Strode <rstrode@redhat.com> - 40.0-16
|
* Wed Sep 15 2021 Ray Strode <rstrode@redhat.com> - 40.0-16
|
||||||
- Fix XDMCP
|
- Fix XDMCP
|
||||||
Resolves: #2005011
|
Resolves: #2005011
|
||||||
|
Loading…
Reference in New Issue
Block a user