diff options
author | netblue30 <netblue30@yahoo.com> | 2016-10-13 16:45:28 -0400 |
---|---|---|
committer | netblue30 <netblue30@yahoo.com> | 2016-10-13 16:45:28 -0400 |
commit | b88cef5db1132c1e6e94ae282f94d980a959bb15 (patch) | |
tree | a55248e6645e083bb8128a1165183c4a0f3f4b1c /src | |
parent | 0.9.44~rc1 testing (diff) | |
download | firejail-b88cef5db1132c1e6e94ae282f94d980a959bb15.tar.gz firejail-b88cef5db1132c1e6e94ae282f94d980a959bb15.tar.zst firejail-b88cef5db1132c1e6e94ae282f94d980a959bb15.zip |
testing
Diffstat (limited to 'src')
-rw-r--r-- | src/include/common.h | 2 | ||||
-rw-r--r-- | src/lib/common.c | 9 | ||||
-rw-r--r-- | src/lib/pid.c | 2 |
3 files changed, 8 insertions, 5 deletions
diff --git a/src/include/common.h b/src/include/common.h index e28870807..f7c8ea725 100644 --- a/src/include/common.h +++ b/src/include/common.h | |||
@@ -113,5 +113,5 @@ int join_namespace(pid_t pid, char *type); | |||
113 | int name2pid(const char *name, pid_t *pid); | 113 | int name2pid(const char *name, pid_t *pid); |
114 | char *pid_proc_comm(const pid_t pid); | 114 | char *pid_proc_comm(const pid_t pid); |
115 | char *pid_proc_cmdline(const pid_t pid); | 115 | char *pid_proc_cmdline(const pid_t pid); |
116 | int pid_proc_cmdline_x11(const pid_t pid); | 116 | int pid_proc_cmdline_x11_xpra_xephyr(const pid_t pid); |
117 | #endif | 117 | #endif |
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; |