commit 9b04a3c
default
·
2025-01-05 15:19:15 +0000 UTC
parent d479352
Disable sandboxing by default for now.
1 files changed,
+10,
-5
+10,
-5
1@@ -83,6 +83,11 @@ LL_BEGIN(sbox_enter_linux_, const char* basedir, const char *address, int smail)
2
3 void sbox_enter(const char *basedir)
4 {
5+ const char *address = xs_dict_get(srv_config, "address");
6+
7+ int smail = !xs_is_true(xs_dict_get(srv_config, "disable_email_notifications"));
8+
9+#if defined (__OpenBSD__)
10 if (xs_is_true(xs_dict_get(srv_config, "disable_openbsd_security"))) {
11 srv_log(xs_dup("disable_openbsd_security is deprecated. Use disable_sandbox instead."));
12 return;
13@@ -92,11 +97,6 @@ void sbox_enter(const char *basedir)
14 return;
15 }
16
17- const char *address = xs_dict_get(srv_config, "address");
18-
19- int smail = !xs_is_true(xs_dict_get(srv_config, "disable_email_notifications"));
20-
21-#if defined (__OpenBSD__)
22 srv_debug(1, xs_fmt("Calling unveil()"));
23 unveil(basedir, "rwc");
24 unveil("/tmp", "rwc");
25@@ -128,6 +128,11 @@ void sbox_enter(const char *basedir)
26
27 #elif defined (__linux__)
28
29+ if (xs_is_true(xs_dict_get_def(srv_config, "disable_sandbox", xs_stock(XSTYPE_TRUE)))) {
30+ srv_debug(0, xs_dup("Sandbox disabled by admin"));
31+ return;
32+ }
33+
34 if (sbox_enter_linux_(basedir, address, smail) == 0)
35 srv_log(xs_dup("landlocked"));
36 else