aboutsummaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/common.h22
-rw-r--r--src/include/euid_common.h2
-rw-r--r--src/include/firejail_user.h2
-rw-r--r--src/include/gcov_wrapper.h2
-rw-r--r--src/include/ldd_utils.h2
-rw-r--r--src/include/pid.h2
-rw-r--r--src/include/rundefs.h2
-rw-r--r--src/include/seccomp.h2
-rw-r--r--src/include/syscall.h2
9 files changed, 29 insertions, 9 deletions
diff --git a/src/include/common.h b/src/include/common.h
index 5bcbaad88..f72ec9738 100644
--- a/src/include/common.h
+++ b/src/include/common.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2014-2021 Firejail Authors 2 * Copyright (C) 2014-2022 Firejail Authors
3 * 3 *
4 * This file is part of firejail project 4 * This file is part of firejail project
5 * 5 *
@@ -73,6 +73,25 @@ static inline int atoip(const char *str, uint32_t *ip) {
73 return 0; 73 return 0;
74} 74}
75 75
76// read an IPv4 address in CIDR format, for example 192.168.1.0/24
77static inline int atocidr(const char *str, uint32_t *ip, uint32_t *mask) {
78 unsigned a, b, c, d, e;
79
80 // extract ip
81 int rv = sscanf(str, "%u.%u.%u.%u/%u", &a, &b, &c, &d, &e);
82 if (rv != 5 || a > 255 || b > 255 || c > 255 || d > 255 || e > 32)
83 return 1;
84 *ip = a * 0x1000000 + b * 0x10000 + c * 0x100 + d;
85
86 // extract mask
87 uint32_t tmp;
88 unsigned i;
89 for (i = 0, *mask = 0, tmp = 0x80000000; i < e; i++, tmp >>= 1) {
90 *mask |= tmp;
91 }
92 return 0;
93}
94
76// verify an ip address is in the network range given by ifip and mask 95// verify an ip address is in the network range given by ifip and mask
77static inline char *in_netrange(uint32_t ip, uint32_t ifip, uint32_t ifmask) { 96static inline char *in_netrange(uint32_t ip, uint32_t ifip, uint32_t ifmask) {
78 if ((ip & ifmask) != (ifip & ifmask)) 97 if ((ip & ifmask) != (ifip & ifmask))
@@ -123,4 +142,5 @@ int pid_proc_cmdline_x11_xpra_xephyr(const pid_t pid);
123int pid_hidepid(void); 142int pid_hidepid(void);
124void warn_dumpable(void); 143void warn_dumpable(void);
125const char *gnu_basename(const char *path); 144const char *gnu_basename(const char *path);
145int *str_to_int_array(const char *str, size_t *sz);
126#endif 146#endif
diff --git a/src/include/euid_common.h b/src/include/euid_common.h
index 8d8dd95f6..f40cbb9de 100644
--- a/src/include/euid_common.h
+++ b/src/include/euid_common.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2014-2021 Firejail Authors 2 * Copyright (C) 2014-2022 Firejail Authors
3 * 3 *
4 * This file is part of firejail project 4 * This file is part of firejail project
5 * 5 *
diff --git a/src/include/firejail_user.h b/src/include/firejail_user.h
index cf17fa0cf..6cf895db8 100644
--- a/src/include/firejail_user.h
+++ b/src/include/firejail_user.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2014-2021 Firejail Authors 2 * Copyright (C) 2014-2022 Firejail Authors
3 * 3 *
4 * This file is part of firejail project 4 * This file is part of firejail project
5 * 5 *
diff --git a/src/include/gcov_wrapper.h b/src/include/gcov_wrapper.h
index 4aafb8e18..144181ca0 100644
--- a/src/include/gcov_wrapper.h
+++ b/src/include/gcov_wrapper.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2021 Firejail Authors 2 * Copyright (C) 2022 Firejail Authors
3 * 3 *
4 * This file is part of firejail project 4 * This file is part of firejail project
5 * 5 *
diff --git a/src/include/ldd_utils.h b/src/include/ldd_utils.h
index ffd6e189f..e9dac1171 100644
--- a/src/include/ldd_utils.h
+++ b/src/include/ldd_utils.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2014-2021 Firejail Authors 2 * Copyright (C) 2014-2022 Firejail Authors
3 * 3 *
4 * This file is part of firejail project 4 * This file is part of firejail project
5 * 5 *
diff --git a/src/include/pid.h b/src/include/pid.h
index 17e51f660..7e235b713 100644
--- a/src/include/pid.h
+++ b/src/include/pid.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2014-2021 Firejail Authors 2 * Copyright (C) 2014-2022 Firejail Authors
3 * 3 *
4 * This file is part of firejail project 4 * This file is part of firejail project
5 * 5 *
diff --git a/src/include/rundefs.h b/src/include/rundefs.h
index 3db750da3..4ba3e27f4 100644
--- a/src/include/rundefs.h
+++ b/src/include/rundefs.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2014-2021 Firejail Authors 2 * Copyright (C) 2014-2022 Firejail Authors
3 * 3 *
4 * This file is part of firejail project 4 * This file is part of firejail project
5 * 5 *
diff --git a/src/include/seccomp.h b/src/include/seccomp.h
index 43bb73a04..9dbe25bfa 100644
--- a/src/include/seccomp.h
+++ b/src/include/seccomp.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2014-2021 Firejail Authors 2 * Copyright (C) 2014-2022 Firejail Authors
3 * 3 *
4 * This file is part of firejail project 4 * This file is part of firejail project
5 * 5 *
diff --git a/src/include/syscall.h b/src/include/syscall.h
index 015dd01b9..68be16a04 100644
--- a/src/include/syscall.h
+++ b/src/include/syscall.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2014-2021 Firejail Authors 2 * Copyright (C) 2014-2022 Firejail Authors
3 * 3 *
4 * This file is part of firejail project 4 * This file is part of firejail project
5 * 5 *