diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/common.c | 9 | ||||
-rw-r--r-- | src/lib/pid.c | 2 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/lib/common.c b/src/lib/common.c index acb6bd3b4..fc4c167ba 100644 --- a/src/lib/common.c +++ b/src/lib/common.c | |||
@@ -201,7 +201,7 @@ char *pid_proc_cmdline(const pid_t pid) { | |||
201 | } | 201 | } |
202 | 202 | ||
203 | // return 1 if firejail --x11 on command line | 203 | // return 1 if firejail --x11 on command line |
204 | int pid_proc_cmdline_x11(const pid_t pid) { | 204 | int pid_proc_cmdline_x11_xpra_xephyr(const pid_t pid) { |
205 | // if comm is not firejail return 0 | 205 | // if comm is not firejail return 0 |
206 | char *comm = pid_proc_comm(pid); | 206 | char *comm = pid_proc_comm(pid); |
207 | if (strcmp(comm, "firejail") != 0) { | 207 | if (strcmp(comm, "firejail") != 0) { |
@@ -248,8 +248,11 @@ int pid_proc_cmdline_x11(const pid_t pid) { | |||
248 | break; | 248 | break; |
249 | if (strncmp(arg, "--", 2) != 0) | 249 | if (strncmp(arg, "--", 2) != 0) |
250 | break; | 250 | break; |
251 | 251 | ||
252 | // check x11 | 252 | if (strcmp(arg, "--x11=xorg") == 0) |
253 | return 0; | ||
254 | |||
255 | // check x11 xpra or xephyr | ||
253 | if (strncmp(arg, "--x11", 5) == 0) | 256 | if (strncmp(arg, "--x11", 5) == 0) |
254 | return 1; | 257 | return 1; |
255 | i += strlen(arg); | 258 | i += strlen(arg); |
diff --git a/src/lib/pid.c b/src/lib/pid.c index bbb123b81..ef1a428fb 100644 --- a/src/lib/pid.c +++ b/src/lib/pid.c | |||
@@ -341,7 +341,7 @@ void pid_read(pid_t mon_pid) { | |||
341 | } | 341 | } |
342 | 342 | ||
343 | if ((strncmp(ptr, "firejail", 8) == 0) && (mon_pid == 0 || mon_pid == pid)) { | 343 | if ((strncmp(ptr, "firejail", 8) == 0) && (mon_pid == 0 || mon_pid == pid)) { |
344 | if (pid_proc_cmdline_x11(pid)) | 344 | if (pid_proc_cmdline_x11_xpra_xephyr(pid)) |
345 | pids[pid].level = -1; | 345 | pids[pid].level = -1; |
346 | else | 346 | else |
347 | pids[pid].level = 1; | 347 | pids[pid].level = 1; |