aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLibravatar Aleksey Manevich <manevich.aleksey@gmail.com>2016-08-24 18:12:37 +0300
committerLibravatar Aleksey Manevich <manevich.aleksey@gmail.com>2016-08-24 18:12:37 +0300
commitf3a20e13cebedffb3af7cee6b5b9e2b0e4d56fb9 (patch)
tree1741a1e0aeed3848b5de3e4b981fa26ee3b415fc /src
parent0.9.42~2 testing (diff)
downloadfirejail-f3a20e13cebedffb3af7cee6b5b9e2b0e4d56fb9.tar.gz
firejail-f3a20e13cebedffb3af7cee6b5b9e2b0e4d56fb9.tar.zst
firejail-f3a20e13cebedffb3af7cee6b5b9e2b0e4d56fb9.zip
SET_PERMS macros
Diffstat (limited to 'src')
-rw-r--r--src/firejail/firejail.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/firejail/firejail.h b/src/firejail/firejail.h
index 755ed4979..7be04f782 100644
--- a/src/firejail/firejail.h
+++ b/src/firejail/firejail.h
@@ -100,6 +100,27 @@
100 ASSERT_PERMS_FD(fd, uid, gid, (mode));\ 100 ASSERT_PERMS_FD(fd, uid, gid, (mode));\
101 } while (0) 101 } while (0)
102 102
103#define SET_PERMS_FD(fd, uid, gid, mode) \
104 do { \
105 if (fchmod(fd, (mode)) == -1) errExit("chmod");\
106 if (fchown(fd, uid, gid) == -1) errExit("chown");\
107 } while (0)
108#define SET_PERMS_STREAM(stream, uid, gid, mode) \
109 do { \
110 int fd = fileno(stream);\
111 if (fd == -1) errExit("fileno");\
112 SET_PERMS_FD(fd, uid, gid, (mode));\
113 } while (0)
114#define SET_PERMS_STREAM_NOERR(stream, uid, gid, mode) \
115 do { \
116 int fd = fileno(stream);\
117 if (fd == -1) continue;\
118 int rv = fchmod(fd, (mode));\
119 (void) rv;\
120 rv = fchown(fd, uid, gid);\
121 (void) rv;\
122 } while (0)
123
103// main.c 124// main.c
104typedef struct bridge_t { 125typedef struct bridge_t {
105 // on the host 126 // on the host