From 5ff53a2ca729ad687a323f782594420065148588 Mon Sep 17 00:00:00 2001 From: netblue30 Date: Fri, 24 Mar 2017 07:55:44 -0400 Subject: testing --- src/firejail/appimage.c | 31 ++++++++++++++----------------- src/firejail/firejail.h | 2 +- src/firejail/fs_etc.c | 4 +++- src/firejail/fs_hostname.c | 5 ++++- src/firejail/main.c | 2 +- src/firejail/profile.c | 2 +- 6 files changed, 24 insertions(+), 22 deletions(-) (limited to 'src') diff --git a/src/firejail/appimage.c b/src/firejail/appimage.c index 4cc5cc180..2368d7992 100644 --- a/src/firejail/appimage.c +++ b/src/firejail/appimage.c @@ -31,6 +31,11 @@ static char *devloop = NULL; // device file static char *mntdir = NULL; // mount point in /tmp directory +static void err_loop(void) { + fprintf(stderr, "Error: cannot configure loopback device\n"); + exit(1); +} + void appimage_set(const char *appimage) { assert(appimage); assert(devloop == NULL); // don't call this twice! @@ -61,35 +66,27 @@ void appimage_set(const char *appimage) { // find or allocate a free loop device to use EUID_ROOT(); int cfd = open("/dev/loop-control", O_RDWR); - if (cfd == -1) { - fprintf(stderr, "Error: /dev/loop-control interface is not supported by your kernel\n"); - exit(1); - } + if (cfd == -1) + err_loop(); int devnr = ioctl(cfd, LOOP_CTL_GET_FREE); - if (devnr == -1) { - fprintf(stderr, "Error: cannot allocate a new loopback device\n"); - exit(1); - } + if (devnr == -1) + err_loop(); close(cfd); if (asprintf(&devloop, "/dev/loop%d", devnr) == -1) errExit("asprintf"); int lfd = open(devloop, O_RDONLY); - if (lfd == -1) { - fprintf(stderr, "Error: cannot open %s\n", devloop); - exit(1); - } - if (ioctl(lfd, LOOP_SET_FD, ffd) == -1) { - fprintf(stderr, "Error: cannot configure the loopback device\n"); - exit(1); - } + if (lfd == -1) + err_loop(); + if (ioctl(lfd, LOOP_SET_FD, ffd) == -1) + err_loop(); if (size) { struct loop_info64 info; memset(&info, 0, sizeof(struct loop_info64)); info.lo_offset = size; if (ioctl(lfd, LOOP_SET_STATUS64, &info) == -1) - errExit("configure appimage offset"); + err_loop(); } close(lfd); diff --git a/src/firejail/firejail.h b/src/firejail/firejail.h index dbb6c4d16..75e5feaff 100644 --- a/src/firejail/firejail.h +++ b/src/firejail/firejail.h @@ -542,7 +542,7 @@ void fs_trace(void); // fs_hostname.c void fs_hostname(const char *hostname); void fs_resolvconf(void); -char *fs_check_hosts_fiile(const char *fname); +char *fs_check_hosts_file(const char *fname); void fs_store_hosts_file(void); void fs_mount_hosts_file(void); diff --git a/src/firejail/fs_etc.c b/src/firejail/fs_etc.c index 19c2210b3..69c422f1d 100644 --- a/src/firejail/fs_etc.c +++ b/src/firejail/fs_etc.c @@ -34,7 +34,9 @@ void fs_machineid(void) { // if --machine-id flag is inactive, do nothing if (arg_machineid == 0) return; - + if (arg_debug) + printf("Generating a new machine-id\n"); + // init random number generator srand(time(NULL)); diff --git a/src/firejail/fs_hostname.c b/src/firejail/fs_hostname.c index 535526409..32243c700 100644 --- a/src/firejail/fs_hostname.c +++ b/src/firejail/fs_hostname.c @@ -127,7 +127,7 @@ void fs_resolvconf(void) { } } -char *fs_check_hosts_fiile(const char *fname) { +char *fs_check_hosts_file(const char *fname) { assert(fname); invalid_filename(fname); char *rv = expand_home(fname, cfg.homedir); @@ -151,6 +151,9 @@ void fs_store_hosts_file(void) { } void fs_mount_hosts_file(void) { + if (arg_debug) + printf("Loading user hosts file\n"); + // check /etc/hosts file struct stat s; if (stat("/etc/hosts", &s) == -1) diff --git a/src/firejail/main.c b/src/firejail/main.c index 3dcc5c62d..843dc2f3a 100644 --- a/src/firejail/main.c +++ b/src/firejail/main.c @@ -1969,7 +1969,7 @@ int main(int argc, char **argv) { } else if (strncmp(argv[i], "--hosts-file=", 13) == 0) - cfg.hosts_file = fs_check_hosts_fiile(argv[i] + 13); + cfg.hosts_file = fs_check_hosts_file(argv[i] + 13); #ifdef HAVE_NETWORK else if (strcmp(argv[i], "--netfilter") == 0) { diff --git a/src/firejail/profile.c b/src/firejail/profile.c index 00dd87dad..4b3cab041 100644 --- a/src/firejail/profile.c +++ b/src/firejail/profile.c @@ -608,7 +608,7 @@ int profile_check_line(char *ptr, int lineno, const char *fname) { // hosts-file if (strncmp(ptr, "hosts-file ", 11) == 0) { - cfg.hosts_file = fs_check_hosts_fiile(ptr + 11); + cfg.hosts_file = fs_check_hosts_file(ptr + 11); return 0; } -- cgit v1.2.3-70-g09d2