File: 01_set-default-path.patch

package info (click to toggle)
lightdm 1.26.0-4
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 8,360 kB
  • sloc: ansic: 25,789; sh: 4,855; makefile: 1,319; cpp: 1,124; python: 266; xml: 39
file content (44 lines) | stat: -rw-r--r-- 1,976 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
From: Yves-Alexis Perez <corsac@debian.org>
Date: Fri, 22 Feb 2019 17:10:57 +0100
Subject: Fix default PATH environment variable

Use the Debian default PATH when needed

Bug: https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/798277
---
 src/seat.c          | 5 +++++
 src/session-child.c | 5 ++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/seat.c b/src/seat.c
index 775ddbb..4c0149b 100644
--- a/src/seat.c
+++ b/src/seat.c
@@ -361,6 +361,11 @@ run_script (Seat *seat, DisplayServer *display_server, const gchar *script_name,
         process_set_env (script, "LD_LIBRARY_PATH", g_getenv ("LD_LIBRARY_PATH"));
     if (g_getenv ("PATH"))
         process_set_env (script, "PATH", g_getenv ("PATH"));
+    else
+        if (user_get_uid (user) == 0)
+            process_set_env (script, "PATH", "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin");
+        else
+            process_set_env (script, "PATH", "/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games");
 
     /* Variables required for regression tests */
     if (g_getenv ("LIGHTDM_TEST_ROOT"))
diff --git a/src/session-child.c b/src/session-child.c
index 5d77c5a..7d0c7fd 100644
--- a/src/session-child.c
+++ b/src/session-child.c
@@ -393,7 +393,10 @@ session_child_run (int argc, char **argv)
         else
         {
             /* Set POSIX variables */
-            pam_putenv (pam_handle, "PATH=/usr/local/bin:/usr/bin:/bin");
+            if (user_get_uid (user) == 0)
+              pam_putenv (pam_handle, "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin");
+            else
+              pam_putenv (pam_handle, "PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games");
             pam_putenv (pam_handle, g_strdup_printf ("USER=%s", username));
             pam_putenv (pam_handle, g_strdup_printf ("LOGNAME=%s", username));
             pam_putenv (pam_handle, g_strdup_printf ("HOME=%s", user_get_home_directory (user)));