aboutsummaryrefslogtreecommitdiffstats
path: root/src/profstats
diff options
context:
space:
mode:
authorLibravatar netblue30 <netblue30@yahoo.com>2020-04-04 22:30:06 -0400
committerLibravatar netblue30 <netblue30@yahoo.com>2020-04-04 22:30:06 -0400
commit062e21d65096640be11f63c69e950f0b97c7498e (patch)
tree25c5c91d4902bccbe29f6c474d78df4c4219df4d /src/profstats
parentfix alphabetical ordering of caps.keep in slack.profile (diff)
downloadfirejail-062e21d65096640be11f63c69e950f0b97c7498e.tar.gz
firejail-062e21d65096640be11f63c69e950f0b97c7498e.tar.zst
firejail-062e21d65096640be11f63c69e950f0b97c7498e.zip
profile fixes
Diffstat (limited to 'src/profstats')
-rw-r--r--src/profstats/main.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/profstats/main.c b/src/profstats/main.c
index 7c6bfce9d..ac02c69bc 100644
--- a/src/profstats/main.c
+++ b/src/profstats/main.c
@@ -38,6 +38,7 @@ static int cnt_whitelistvar = 0; // include whitelist-var-common.inc
38static int cnt_whitelistrunuser = 0; // include whitelist-runuser-common.inc 38static int cnt_whitelistrunuser = 0; // include whitelist-runuser-common.inc
39static int cnt_whitelistusrshare = 0; // include whitelist-usr-share-common.inc 39static int cnt_whitelistusrshare = 0; // include whitelist-usr-share-common.inc
40static int cnt_ssh = 0; 40static int cnt_ssh = 0;
41static int cnt_mdwx = 0;
41 42
42static int level = 0; 43static int level = 0;
43static int arg_debug = 0; 44static int arg_debug = 0;
@@ -51,6 +52,7 @@ static int arg_whitelistvar = 0;
51static int arg_whitelistrunuser = 0; 52static int arg_whitelistrunuser = 0;
52static int arg_whitelistusrshare = 0; 53static int arg_whitelistusrshare = 0;
53static int arg_ssh = 0; 54static int arg_ssh = 0;
55static int arg_mdwx = 0;
54 56
55static char *profile = NULL; 57static char *profile = NULL;
56 58
@@ -66,6 +68,7 @@ static void usage(void) {
66 printf(" --private-dev - print profiles without private-dev\n"); 68 printf(" --private-dev - print profiles without private-dev\n");
67 printf(" --private-tmp - print profiles without private-tmp\n"); 69 printf(" --private-tmp - print profiles without private-tmp\n");
68 printf(" --seccomp - print profiles without seccomp\n"); 70 printf(" --seccomp - print profiles without seccomp\n");
71 printf(" --memory-deny-write-execute - profile without it\n");
69 printf(" --whitelist-var - print profiles without \"include whitelist-var-common.inc\"\n"); 72 printf(" --whitelist-var - print profiles without \"include whitelist-var-common.inc\"\n");
70 printf(" --whitelist-runuser - print profiles without \"include whitelist-runuser-common.inc\"\n"); 73 printf(" --whitelist-runuser - print profiles without \"include whitelist-runuser-common.inc\"\n");
71 printf(" --whitelist-usrshare - print profiles without \"include whitelist-usr-share-common.inc\"\n"); 74 printf(" --whitelist-usrshare - print profiles without \"include whitelist-usr-share-common.inc\"\n");
@@ -114,6 +117,8 @@ void process_file(const char *fname) {
114 cnt_whitelistusrshare++; 117 cnt_whitelistusrshare++;
115 else if (strncmp(ptr, "include disable-common.inc", 26) == 0) 118 else if (strncmp(ptr, "include disable-common.inc", 26) == 0)
116 cnt_ssh++; 119 cnt_ssh++;
120 else if (strncmp(ptr, "memory-deny-write-execute", 25) == 0)
121 cnt_mdwx++;
117 else if (strncmp(ptr, "net none", 8) == 0) 122 else if (strncmp(ptr, "net none", 8) == 0)
118 cnt_netnone++; 123 cnt_netnone++;
119 else if (strncmp(ptr, "apparmor", 8) == 0) 124 else if (strncmp(ptr, "apparmor", 8) == 0)
@@ -161,6 +166,8 @@ int main(int argc, char **argv) {
161 arg_caps = 1; 166 arg_caps = 1;
162 else if (strcmp(argv[i], "--seccomp") == 0) 167 else if (strcmp(argv[i], "--seccomp") == 0)
163 arg_seccomp = 1; 168 arg_seccomp = 1;
169 else if (strcmp(argv[i], "--memory-deny-write-execute") == 0)
170 arg_mdwx = 1;
164 else if (strcmp(argv[i], "--noexec") == 0) 171 else if (strcmp(argv[i], "--noexec") == 0)
165 arg_noexec = 1; 172 arg_noexec = 1;
166 else if (strcmp(argv[i], "--private-dev") == 0) 173 else if (strcmp(argv[i], "--private-dev") == 0)
@@ -205,6 +212,7 @@ int main(int argc, char **argv) {
205 int whitelistrunuser = cnt_whitelistrunuser; 212 int whitelistrunuser = cnt_whitelistrunuser;
206 int whitelistusrshare = cnt_whitelistusrshare; 213 int whitelistusrshare = cnt_whitelistusrshare;
207 int ssh = cnt_ssh; 214 int ssh = cnt_ssh;
215 int mdwx = cnt_mdwx;
208 216
209 // process file 217 // process file
210 profile = argv[i]; 218 profile = argv[i];
@@ -242,6 +250,8 @@ int main(int argc, char **argv) {
242 printf("No include whitelist-usr-share-common.inc found in %s\n", argv[i]); 250 printf("No include whitelist-usr-share-common.inc found in %s\n", argv[i]);
243 if (arg_ssh && ssh == cnt_ssh) 251 if (arg_ssh && ssh == cnt_ssh)
244 printf("No include disable-common.inc found in %s\n", argv[i]); 252 printf("No include disable-common.inc found in %s\n", argv[i]);
253 if (arg_mdwx && mdwx == cnt_mdwx)
254 printf("No memory-deny-write-execute found in %s\n", argv[i]);
245 255
246 assert(level == 0); 256 assert(level == 0);
247 } 257 }
@@ -255,6 +265,7 @@ int main(int argc, char **argv) {
255 printf(" seccomp\t\t\t%d\n", cnt_seccomp); 265 printf(" seccomp\t\t\t%d\n", cnt_seccomp);
256 printf(" capabilities\t\t%d\n", cnt_caps); 266 printf(" capabilities\t\t%d\n", cnt_caps);
257 printf(" noexec\t\t\t%d (include disable-exec.inc)\n", cnt_noexec); 267 printf(" noexec\t\t\t%d (include disable-exec.inc)\n", cnt_noexec);
268 printf(" memory-deny-write-execute\t%d\n", cnt_mdwx);
258 printf(" apparmor\t\t\t%d\n", cnt_apparmor); 269 printf(" apparmor\t\t\t%d\n", cnt_apparmor);
259 printf(" private-dev\t\t\t%d\n", cnt_privatedev); 270 printf(" private-dev\t\t\t%d\n", cnt_privatedev);
260 printf(" private-tmp\t\t\t%d\n", cnt_privatetmp); 271 printf(" private-tmp\t\t\t%d\n", cnt_privatetmp);