From a39fec6b28af9bc2391b8cfd44a74430c6014b1a Mon Sep 17 00:00:00 2001 From: startx2017 Date: Fri, 7 Jul 2017 07:30:20 -0400 Subject: shorter firejail name in --top and --netstats --- src/firemon/Makefile.in | 4 ++-- src/firemon/netstats.c | 12 ++++++++++++ src/firemon/top.c | 14 ++++++++++++-- 3 files changed, 26 insertions(+), 4 deletions(-) (limited to 'src') 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 @@ all: firemon -PREFIX=@prefix@ +prefix=@prefix@ VERSION=@PACKAGE_VERSION@ NAME=@PACKAGE_NAME@ HAVE_FATAL_WARNINGS=@HAVE_FATAL_WARNINGS@ @@ -11,7 +11,7 @@ H_FILE_LIST = $(sort $(wildcard *.[h])) C_FILE_LIST = $(sort $(wildcard *.c)) OBJS = $(C_FILE_LIST:.c=.o) BINOBJS = $(foreach file, $(OBJS), $file) -CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' $(HAVE_GCOV) -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIE -pie -Wformat -Wformat-security +CFLAGS += -ggdb $(HAVE_FATAL_WARNINGS) -O2 -DVERSION='"$(VERSION)"' -DPREFIX='"$(prefix)"' $(HAVE_GCOV) -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIE -pie -Wformat -Wformat-security LDFLAGS += -pie -Wl,-z,relro -Wl,-z,now HAVE_GCOV=@HAVE_GCOV@ EXTRA_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: } +static char *firejail_exec = NULL; +static int firejail_exec_len = 0; +static int firejail_exec_prefix_len = 0; static void print_proc(int index, int itv, int col) { + if (!firejail_exec) { + if (asprintf(&firejail_exec, "%s/bin/firejail", PREFIX) == -1) + errExit("asprintf"); + firejail_exec_len = strlen(firejail_exec); + firejail_exec_prefix_len = strlen(PREFIX) + 5; + } + // command char *cmd = pid_proc_cmdline(index); char *ptrcmd; @@ -119,6 +129,8 @@ static void print_proc(int index, int itv, int col) { else ptrcmd = ""; } + else if (strncmp(cmd, firejail_exec, firejail_exec_len) == 0) + ptrcmd = cmd + firejail_exec_prefix_len; else ptrcmd = cmd; 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) { } +static char *firejail_exec = NULL; +static int firejail_exec_len = 0; +static int firejail_exec_prefix_len = 0; // recursivity!!! static char *print_top(unsigned index, unsigned parent, unsigned *utime, unsigned *stime, unsigned itv, float *cpu, int *cnt) { char *rv = NULL; @@ -90,6 +93,13 @@ static char *print_top(unsigned index, unsigned parent, unsigned *utime, unsigne print_top(i, index, utime, stime, itv, cpu, cnt); } + if (!firejail_exec) { + if (asprintf(&firejail_exec, "%s/bin/firejail", PREFIX) == -1) + errExit("asprintf"); + firejail_exec_len = strlen(firejail_exec); + firejail_exec_prefix_len = strlen(PREFIX) + 5; + } + if (pids[index].level == 1) { // pid char pidstr[10]; @@ -104,8 +114,8 @@ static char *print_top(unsigned index, unsigned parent, unsigned *utime, unsigne else ptrcmd = ""; } - else if (strncmp(cmd, "/usr/bin/firejail", 17) == 0) - ptrcmd = cmd + 9; + else if (strncmp(cmd, firejail_exec, firejail_exec_len) == 0) + ptrcmd = cmd + firejail_exec_prefix_len; else ptrcmd = cmd; -- cgit v1.2.3-54-g00ecf