[gnome-session/wip/smcv/unset-xdg-session-id] util: Remove undesired variables from activation environment




commit d44888fb304e9d957805bf052bf879b0f50568be
Author: Simon McVittie <smcv debian org>
Date:   Mon Mar 29 12:49:35 2021 +0100

    util: Remove undesired variables from activation environment
    
    Commit 646b9bc0 (included in 3.33.92) prevented one run of gnome-session
    from uploading environment variables into `systemd --user` that should not
    leak into a different login session, such as XDG_SESSION_ID. However,
    non-GNOME session managers (and in particular the forks of gnome-session
    found in Cinnamon and MATE) might still upload those environment variables.
    
    The other session managers should be fixed, similar to 646b9bc0, but we
    can mitigate this for GNOME sessions by actively unsetting the undesired
    variables, instead of just not setting them.
    
    Signed-off-by: Simon McVittie <smcv collabora com>
    Resolves: https://gitlab.gnome.org/GNOME/gnome-session/-/issues/86

 gnome-session/gsm-util.c | 2 ++
 1 file changed, 2 insertions(+)
---
diff --git a/gnome-session/gsm-util.c b/gnome-session/gsm-util.c
index cdf67610..7dc4f262 100644
--- a/gnome-session/gsm-util.c
+++ b/gnome-session/gsm-util.c
@@ -646,6 +646,8 @@ gsm_util_export_user_environment (GError     **error)
         g_variant_builder_open (&builder, G_VARIANT_TYPE ("as"));
         for (i = 0; variable_unsetlist[i] != NULL; i++)
                 g_variant_builder_add (&builder, "s", variable_unsetlist[i]);
+        for (i = 0; variable_blacklist[i] != NULL; i++)
+                g_variant_builder_add (&builder, "s", variable_blacklist[i]);
         g_variant_builder_close (&builder);
 
         g_variant_builder_open (&builder, G_VARIANT_TYPE ("as"));


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]