From 4846489b89bfb37eab6cb86e95e5162a22f77116 Mon Sep 17 00:00:00 2001 From: netblue30 Date: Mon, 15 Feb 2016 07:56:12 -0500 Subject: centos6 fix --- src/firejail/firejail.h | 1 + src/firejail/fs.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/firejail/firejail.h b/src/firejail/firejail.h index feb6854fc..19c8c5eb5 100644 --- a/src/firejail/firejail.h +++ b/src/firejail/firejail.h @@ -22,6 +22,7 @@ #include "../include/common.h" // filesystem +#define RUN_FIREJAIL_BASEDIR "/run" #define RUN_FIREJAIL_DIR "/run/firejail" #define RUN_NETWORK_LOCK_FILE "/run/firejail/firejail.lock" #define RUN_RO_DIR "/run/firejail/firejail.ro.dir" diff --git a/src/firejail/fs.c b/src/firejail/fs.c index fa212bbd5..a43ed3134 100644 --- a/src/firejail/fs.c +++ b/src/firejail/fs.c @@ -60,6 +60,20 @@ static void create_empty_file(void) { void fs_build_firejail_dir(void) { struct stat s; + // CentOS 6 doesn't have /run directory + if (stat(RUN_FIREJAIL_BASEDIR, &s)) { + if (arg_debug) + printf("Creating %s directory\n", RUN_FIREJAIL_BASEDIR); + /* coverity[toctou] */ + int rv = mkdir(RUN_FIREJAIL_BASEDIR, 0755); + if (rv == -1) + errExit("mkdir"); + if (chown(RUN_FIREJAIL_BASEDIR, 0, 0) < 0) + errExit("chown"); + if (chmod(RUN_FIREJAIL_BASEDIR, 0755) < 0) + errExit("chmod"); + } + if (stat(RUN_FIREJAIL_DIR, &s)) { if (arg_debug) printf("Creating %s directory\n", RUN_FIREJAIL_DIR); -- cgit v1.2.3-70-g09d2