aboutsummaryrefslogtreecommitdiffstats
path: root/src/firemon
diff options
context:
space:
mode:
authorLibravatar startx2017 <vradu.startx@yandex.com>2017-07-07 07:30:20 -0400
committerLibravatar startx2017 <vradu.startx@yandex.com>2017-07-07 07:30:20 -0400
commita39fec6b28af9bc2391b8cfd44a74430c6014b1a (patch)
tree07aa8f1add63913e527aabb275ed03c154834ad1 /src/firemon
parentbugfix: fix --allusers when running as root (diff)
downloadfirejail-a39fec6b28af9bc2391b8cfd44a74430c6014b1a.tar.gz
firejail-a39fec6b28af9bc2391b8cfd44a74430c6014b1a.tar.zst
firejail-a39fec6b28af9bc2391b8cfd44a74430c6014b1a.zip
shorter firejail name in --top and --netstats
Diffstat (limited to 'src/firemon')
-rw-r--r--src/firemon/Makefile.in4
-rw-r--r--src/firemon/netstats.c12
-rw-r--r--src/firemon/top.c14
3 files changed, 26 insertions, 4 deletions
diff --git a/src/firemon/Makefile.in b/src/firemon/Makefile.in
index a7a97cf5a..83a6621fe 100644
--- a/src/firemon/Makefile.in
+++ b/src/firemon/Makefile.in
@@ -1,6 +1,6 @@
1all: firemon 1all: firemon
2 2
3PREFIX=@prefix@ 3prefix=@prefix@
4VERSION=@PACKAGE_VERSION@ 4VERSION=@PACKAGE_VERSION@
5NAME=@PACKAGE_NAME@ 5NAME=@PACKAGE_NAME@
6HAVE_FATAL_WARNINGS=@HAVE_FATAL_WARNINGS@ 6HAVE_FATAL_WARNINGS=@HAVE_FATAL_WARNINGS@
@@ -11,7 +11,7 @@ H_FILE_LIST = $(sort $(wildcard *.[h]))
11C_FILE_LIST = $(sort $(wildcard *.c)) 11C_FILE_LIST = $(sort $(wildcard *.c))
12OBJS = $(C_FILE_LIST:.c=.o) 12OBJS = $(C_FILE_LIST:.c=.o)
13BINOBJS = $(foreach file, $(OBJS), $file) 13BINOBJS = $(foreach file, $(OBJS), $file)
14CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' $(HAVE_GCOV) -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIE -pie -Wformat -Wformat-security 14CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' -DPREFIX='"$(prefix)"' $(HAVE_GCOV) -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIE -pie -Wformat -Wformat-security
15LDFLAGS += -pie -Wl,-z,relro -Wl,-z,now 15LDFLAGS += -pie -Wl,-z,relro -Wl,-z,now
16HAVE_GCOV=@HAVE_GCOV@ 16HAVE_GCOV=@HAVE_GCOV@
17EXTRA_LDFLAGS +=@EXTRA_LDFLAGS@ 17EXTRA_LDFLAGS +=@EXTRA_LDFLAGS@
diff --git a/src/firemon/netstats.c b/src/firemon/netstats.c
index c5e8a242c..53399300c 100644
--- a/src/firemon/netstats.c
+++ b/src/firemon/netstats.c
@@ -109,7 +109,17 @@ errexit:
109} 109}
110 110
111 111
112static char *firejail_exec = NULL;
113static int firejail_exec_len = 0;
114static int firejail_exec_prefix_len = 0;
112static void print_proc(int index, int itv, int col) { 115static void print_proc(int index, int itv, int col) {
116 if (!firejail_exec) {
117 if (asprintf(&firejail_exec, "%s/bin/firejail", PREFIX) == -1)
118 errExit("asprintf");
119 firejail_exec_len = strlen(firejail_exec);
120 firejail_exec_prefix_len = strlen(PREFIX) + 5;
121 }
122
113 // command 123 // command
114 char *cmd = pid_proc_cmdline(index); 124 char *cmd = pid_proc_cmdline(index);
115 char *ptrcmd; 125 char *ptrcmd;
@@ -119,6 +129,8 @@ static void print_proc(int index, int itv, int col) {
119 else 129 else
120 ptrcmd = ""; 130 ptrcmd = "";
121 } 131 }
132 else if (strncmp(cmd, firejail_exec, firejail_exec_len) == 0)
133 ptrcmd = cmd + firejail_exec_prefix_len;
122 else 134 else
123 ptrcmd = cmd; 135 ptrcmd = cmd;
124 136
diff --git a/src/firemon/top.c b/src/firemon/top.c
index 3a79a5260..3d657a6a6 100644
--- a/src/firemon/top.c
+++ b/src/firemon/top.c
@@ -54,6 +54,9 @@ static char *get_header(void) {
54} 54}
55 55
56 56
57static char *firejail_exec = NULL;
58static int firejail_exec_len = 0;
59static int firejail_exec_prefix_len = 0;
57// recursivity!!! 60// recursivity!!!
58static char *print_top(unsigned index, unsigned parent, unsigned *utime, unsigned *stime, unsigned itv, float *cpu, int *cnt) { 61static char *print_top(unsigned index, unsigned parent, unsigned *utime, unsigned *stime, unsigned itv, float *cpu, int *cnt) {
59 char *rv = NULL; 62 char *rv = NULL;
@@ -90,6 +93,13 @@ static char *print_top(unsigned index, unsigned parent, unsigned *utime, unsigne
90 print_top(i, index, utime, stime, itv, cpu, cnt); 93 print_top(i, index, utime, stime, itv, cpu, cnt);
91 } 94 }
92 95
96 if (!firejail_exec) {
97 if (asprintf(&firejail_exec, "%s/bin/firejail", PREFIX) == -1)
98 errExit("asprintf");
99 firejail_exec_len = strlen(firejail_exec);
100 firejail_exec_prefix_len = strlen(PREFIX) + 5;
101 }
102
93 if (pids[index].level == 1) { 103 if (pids[index].level == 1) {
94 // pid 104 // pid
95 char pidstr[10]; 105 char pidstr[10];
@@ -104,8 +114,8 @@ static char *print_top(unsigned index, unsigned parent, unsigned *utime, unsigne
104 else 114 else
105 ptrcmd = ""; 115 ptrcmd = "";
106 } 116 }
107 else if (strncmp(cmd, "/usr/bin/firejail", 17) == 0) 117 else if (strncmp(cmd, firejail_exec, firejail_exec_len) == 0)
108 ptrcmd = cmd + 9; 118 ptrcmd = cmd + firejail_exec_prefix_len;
109 else 119 else
110 ptrcmd = cmd; 120 ptrcmd = cmd;
111 121