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