diff options
Diffstat (limited to 'src/firejail/main.c')
-rw-r--r-- | src/firejail/main.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/firejail/main.c b/src/firejail/main.c index 75324b66a..790b0731c 100644 --- a/src/firejail/main.c +++ b/src/firejail/main.c | |||
@@ -175,7 +175,9 @@ static void myexit(int rv) { | |||
175 | 175 | ||
176 | 176 | ||
177 | // delete sandbox files in shared memory | 177 | // delete sandbox files in shared memory |
178 | #ifdef HAVE_DBUSPROXY | ||
178 | dbus_proxy_stop(); | 179 | dbus_proxy_stop(); |
180 | #endif | ||
179 | EUID_ROOT(); | 181 | EUID_ROOT(); |
180 | delete_run_files(sandbox_pid); | 182 | delete_run_files(sandbox_pid); |
181 | appimage_clear(); | 183 | appimage_clear(); |
@@ -2023,6 +2025,11 @@ int main(int argc, char **argv, char **envp) { | |||
2023 | arg_dbus_user = DBUS_POLICY_BLOCK; | 2025 | arg_dbus_user = DBUS_POLICY_BLOCK; |
2024 | arg_dbus_system = DBUS_POLICY_BLOCK; | 2026 | arg_dbus_system = DBUS_POLICY_BLOCK; |
2025 | } | 2027 | } |
2028 | |||
2029 | //************************************* | ||
2030 | // D-BUS proxy | ||
2031 | //************************************* | ||
2032 | #ifdef HAVE_DBUSPROXY | ||
2026 | else if (strncmp("--dbus-user=", argv[i], 12) == 0) { | 2033 | else if (strncmp("--dbus-user=", argv[i], 12) == 0) { |
2027 | if (strcmp("filter", argv[i] + 12) == 0) { | 2034 | if (strcmp("filter", argv[i] + 12) == 0) { |
2028 | if (arg_dbus_user == DBUS_POLICY_BLOCK) { | 2035 | if (arg_dbus_user == DBUS_POLICY_BLOCK) { |
@@ -2160,6 +2167,7 @@ int main(int argc, char **argv, char **envp) { | |||
2160 | } | 2167 | } |
2161 | arg_dbus_log_system = 1; | 2168 | arg_dbus_log_system = 1; |
2162 | } | 2169 | } |
2170 | #endif | ||
2163 | 2171 | ||
2164 | //************************************* | 2172 | //************************************* |
2165 | // network | 2173 | // network |
@@ -2844,6 +2852,7 @@ int main(int argc, char **argv, char **envp) { | |||
2844 | } | 2852 | } |
2845 | EUID_USER(); | 2853 | EUID_USER(); |
2846 | 2854 | ||
2855 | #ifdef HAVE_DBUSPROXY | ||
2847 | if (checkcfg(CFG_DBUS)) { | 2856 | if (checkcfg(CFG_DBUS)) { |
2848 | dbus_check_profile(); | 2857 | dbus_check_profile(); |
2849 | if (arg_dbus_user == DBUS_POLICY_FILTER || | 2858 | if (arg_dbus_user == DBUS_POLICY_FILTER || |
@@ -2853,6 +2862,7 @@ int main(int argc, char **argv, char **envp) { | |||
2853 | EUID_USER(); | 2862 | EUID_USER(); |
2854 | } | 2863 | } |
2855 | } | 2864 | } |
2865 | #endif | ||
2856 | 2866 | ||
2857 | // clone environment | 2867 | // clone environment |
2858 | int flags = CLONE_NEWNS | CLONE_NEWPID | CLONE_NEWUTS | SIGCHLD; | 2868 | int flags = CLONE_NEWNS | CLONE_NEWPID | CLONE_NEWUTS | SIGCHLD; |