aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLibravatar netblue30 <netblue30@yahoo.com>2016-10-13 16:45:28 -0400
committerLibravatar netblue30 <netblue30@yahoo.com>2016-10-13 16:45:28 -0400
commitb88cef5db1132c1e6e94ae282f94d980a959bb15 (patch)
treea55248e6645e083bb8128a1165183c4a0f3f4b1c /src
parent0.9.44~rc1 testing (diff)
downloadfirejail-b88cef5db1132c1e6e94ae282f94d980a959bb15.tar.gz
firejail-b88cef5db1132c1e6e94ae282f94d980a959bb15.tar.zst
firejail-b88cef5db1132c1e6e94ae282f94d980a959bb15.zip
testing
Diffstat (limited to 'src')
-rw-r--r--src/include/common.h2
-rw-r--r--src/lib/common.c9
-rw-r--r--src/lib/pid.c2
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);
113int name2pid(const char *name, pid_t *pid); 113int name2pid(const char *name, pid_t *pid);
114char *pid_proc_comm(const pid_t pid); 114char *pid_proc_comm(const pid_t pid);
115char *pid_proc_cmdline(const pid_t pid); 115char *pid_proc_cmdline(const pid_t pid);
116int pid_proc_cmdline_x11(const pid_t pid); 116int 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
204int pid_proc_cmdline_x11(const pid_t pid) { 204int 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;