diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2016-12-07 16:27:18 +1300 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2016-12-07 16:27:18 +1300 |
commit | a258db1a01b385d96a58fe1cb5015a9532726a55 (patch) | |
tree | c18663ddf0f783d7367164f6b1226175d214f068 | |
parent | ddde20e73206f3b384d8bb3531517ed7208ef34d (diff) | |
download | lightdm-git-a258db1a01b385d96a58fe1cb5015a9532726a55.tar.gz |
Always pass through LD_PRELOAD, LD_LIBRARY_PATH and PATH to sessions/display servers
-rw-r--r-- | src/seat.c | 22 | ||||
-rw-r--r-- | src/x-server-local.c | 12 |
2 files changed, 13 insertions, 21 deletions
@@ -365,16 +365,13 @@ run_script (Seat *seat, DisplayServer *display_server, const gchar *script_name, process_set_clear_environment (script, TRUE); process_set_env (script, "SHELL", "/bin/sh"); + process_set_env (script, "LD_PRELOAD", g_getenv ("LD_PRELOAD")); + process_set_env (script, "LD_LIBRARY_PATH", g_getenv ("LD_LIBRARY_PATH")); + process_set_env (script, "PATH", g_getenv ("PATH")); + /* Variables required for regression tests */ if (g_getenv ("LIGHTDM_TEST_ROOT")) - { process_set_env (script, "LIGHTDM_TEST_ROOT", g_getenv ("LIGHTDM_TEST_ROOT")); - process_set_env (script, "LD_PRELOAD", g_getenv ("LD_PRELOAD")); - process_set_env (script, "LD_LIBRARY_PATH", g_getenv ("LD_LIBRARY_PATH")); - process_set_env (script, "PATH", g_getenv ("PATH")); - } - else - process_set_env (script, "PATH", "/usr/local/bin:/usr/bin:/bin"); if (user) { @@ -887,12 +884,6 @@ set_session_env (Session *session) if (g_getenv ("DBUS_SESSION_BUS_ADDRESS")) session_set_env (session, "DBUS_SESSION_BUS_ADDRESS", g_getenv ("DBUS_SESSION_BUS_ADDRESS")); session_set_env (session, "LDM_BUS", "SESSION"); - if (g_getenv ("LD_PRELOAD")) - session_set_env (session, "LD_PRELOAD", g_getenv ("LD_PRELOAD")); - if (g_getenv ("LD_LIBRARY_PATH")) - session_set_env (session, "LD_LIBRARY_PATH", g_getenv ("LD_LIBRARY_PATH")); - if (g_getenv ("PATH")) - session_set_env (session, "PATH", g_getenv ("PATH")); } /* Variables required for regression tests */ @@ -901,10 +892,11 @@ set_session_env (Session *session) session_set_env (session, "LIGHTDM_TEST_ROOT", g_getenv ("LIGHTDM_TEST_ROOT")); session_set_env (session, "DBUS_SYSTEM_BUS_ADDRESS", g_getenv ("DBUS_SYSTEM_BUS_ADDRESS")); session_set_env (session, "DBUS_SESSION_BUS_ADDRESS", g_getenv ("DBUS_SESSION_BUS_ADDRESS")); - session_set_env (session, "LD_PRELOAD", g_getenv ("LD_PRELOAD")); - session_set_env (session, "LD_LIBRARY_PATH", g_getenv ("LD_LIBRARY_PATH")); session_set_env (session, "GI_TYPELIB_PATH", g_getenv ("GI_TYPELIB_PATH")); } + + session_set_env (session, "LD_PRELOAD", g_getenv ("LD_PRELOAD")); + session_set_env (session, "LD_LIBRARY_PATH", g_getenv ("LD_LIBRARY_PATH")); } static Session * diff --git a/src/x-server-local.c b/src/x-server-local.c index f2518237..58a02b60 100644 --- a/src/x-server-local.c +++ b/src/x-server-local.c @@ -549,13 +549,13 @@ x_server_local_start (DisplayServer *display_server) } } + /* Pass through library variables */ + process_set_env (server->priv->x_server_process, "LD_PRELOAD", g_getenv ("LD_PRELOAD")); + process_set_env (server->priv->x_server_process, "LD_LIBRARY_PATH", g_getenv ("LD_LIBRARY_PATH")); + process_set_env (server->priv->x_server_process, "PATH", g_getenv ("PATH")); + /* Variable required for regression tests */ - if (g_getenv ("LIGHTDM_TEST_ROOT")) - { - process_set_env (server->priv->x_server_process, "LIGHTDM_TEST_ROOT", g_getenv ("LIGHTDM_TEST_ROOT")); - process_set_env (server->priv->x_server_process, "LD_PRELOAD", g_getenv ("LD_PRELOAD")); - process_set_env (server->priv->x_server_process, "LD_LIBRARY_PATH", g_getenv ("LD_LIBRARY_PATH")); - } + process_set_env (server->priv->x_server_process, "LIGHTDM_TEST_ROOT", g_getenv ("LIGHTDM_TEST_ROOT")); result = process_start (server->priv->x_server_process, FALSE); |