Fix unnecessary pam_putenv when unsetting GDM_AUTH_SESSION_ID

Related: RHEL-232978
This commit is contained in:
Joan Torres Lopez 2026-08-12 11:11:53 +02:00
parent 984132909b
commit 4558e8814d
No known key found for this signature in database

View File

@ -192,10 +192,10 @@ remote sessions.
Part-of: <https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/374>
---
daemon/gdm-manager.c | 13 +++++++------
daemon/gdm-session-worker.c | 26 ++++++++++++++++++++++++--
daemon/gdm-session-worker.c | 25 +++++++++++++++++++++++--
daemon/gdm-session-worker.xml | 1 +
daemon/gdm-session.c | 4 ++++
4 files changed, 36 insertions(+), 8 deletions(-)
4 files changed, 35 insertions(+), 8 deletions(-)
diff --git a/daemon/gdm-manager.c b/daemon/gdm-manager.c
index 2efeeb1..33f334b 100644
@ -237,7 +237,7 @@ index 2efeeb1..33f334b 100644
return;
}
diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c
index eed4fa2..e0fa729 100644
index eed4fa2..66ec5b7 100644
--- a/daemon/gdm-session-worker.c
+++ b/daemon/gdm-session-worker.c
@@ -114,6 +114,8 @@
@ -268,17 +268,16 @@ index eed4fa2..e0fa729 100644
g_debug ("GdmSessionWorker: state SETUP_COMPLETE");
gdm_session_worker_set_state (worker, GDM_SESSION_WORKER_STATE_SETUP_COMPLETE);
@@ -1383,6 +1390,9 @@ gdm_session_worker_authenticate_user (GdmSessionWorker *worker,
@@ -1383,6 +1390,8 @@ gdm_session_worker_authenticate_user (GdmSessionWorker *worker,
goto out;
}
+ gdm_session_worker_set_environment_variable (worker, GDM_AUTH_SESSION_ID, NULL);
+ unsetenv (GDM_AUTH_SESSION_ID);
+
g_debug ("GdmSessionWorker: state AUTHENTICATED");
gdm_session_worker_set_state (worker, GDM_SESSION_WORKER_STATE_AUTHENTICATED);
@@ -3086,6 +3096,8 @@ gdm_session_worker_handle_initialize (GdmDBusWorker *object,
@@ -3086,6 +3095,8 @@ gdm_session_worker_handle_initialize (GdmDBusWorker *object,
worker->display_is_local = g_variant_get_boolean (value);
} else if (g_strcmp0 (key, "display-is-initial") == 0) {
worker->display_is_initial = g_variant_get_boolean (value);
@ -287,7 +286,7 @@ index eed4fa2..e0fa729 100644
}
}
@@ -3370,6 +3382,7 @@ static ReauthenticationRequest *
@@ -3370,6 +3381,7 @@ static ReauthenticationRequest *
reauthentication_request_new (GdmSessionWorker *worker,
GPid pid_of_caller,
uid_t uid_of_caller,
@ -295,7 +294,7 @@ index eed4fa2..e0fa729 100644
GDBusMethodInvocation *invocation)
{
ReauthenticationRequest *request;
@@ -3393,6 +3406,9 @@ reauthentication_request_new (GdmSessionWorker *worker,
@@ -3393,6 +3405,9 @@ reauthentication_request_new (GdmSessionWorker *worker,
worker->display_is_local,
environment);
@ -305,7 +304,7 @@ index eed4fa2..e0fa729 100644
g_signal_connect (request->session,
"client-connected",
G_CALLBACK (on_reauthentication_client_connected),
@@ -3431,7 +3447,8 @@ static gboolean
@@ -3431,7 +3446,8 @@ static gboolean
gdm_session_worker_handle_start_reauthentication (GdmDBusWorker *object,
GDBusMethodInvocation *invocation,
int pid_of_caller,
@ -315,7 +314,7 @@ index eed4fa2..e0fa729 100644
{
GdmSessionWorker *worker = GDM_SESSION_WORKER (object);
ReauthenticationRequest *request;
@@ -3447,7 +3464,11 @@ gdm_session_worker_handle_start_reauthentication (GdmDBusWorker *object,
@@ -3447,7 +3463,11 @@ gdm_session_worker_handle_start_reauthentication (GdmDBusWorker *object,
g_debug ("GdmSessionWorker: start reauthentication");
@ -328,7 +327,7 @@ index eed4fa2..e0fa729 100644
g_hash_table_replace (worker->reauthentication_requests,
GINT_TO_POINTER (pid_of_caller),
request);
@@ -3634,6 +3655,7 @@ gdm_session_worker_finalize (GObject *object)
@@ -3634,6 +3654,7 @@ gdm_session_worker_finalize (GObject *object)
g_free (worker->display_seat_id);
g_free (worker->hostname);
g_free (worker->username);
@ -370,3 +369,6 @@ index ac70568..cf22259 100644
conversation->worker_cancellable,
(GAsyncReadyCallback) on_reauthentication_started_cb,
conversation);
--
2.55.0