sandboxed-api/sandboxed_api/sandbox2
Wiktor Garbacz 3ea315858d Remove mutexes from Comms
It was never fully thread-safe.
e.g. calling SendProtoBuf concurrently from 2 threads
could result in a data race.
Also not all users need the thread-safety thus it's better left off to be done externally by the ones that require it.

PiperOrigin-RevId: 562548941
Change-Id: Ie32dfca366be9e0c32841e55b688907f4f5f7704
2023-09-04 07:00:57 -07:00
..
examples Rework network_proxy related tests/examples 2023-08-31 06:06:09 -07:00
network_proxy Adjust code so that variable name is correct 2023-09-04 03:13:42 -07:00
testcases Rework network_proxy related tests/examples 2023-08-31 06:06:09 -07:00
unwind Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
util Increase limits in ElfParser 2023-08-31 05:01:51 -07:00
allow_all_syscalls.h Fix typo 2023-05-04 00:46:53 -07:00
allow_unrestricted_networking.h Sandbox2: Remove commented out include 2023-06-23 00:46:59 -07:00
bpfdisassembler_test.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
bpfdisassembler.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
bpfdisassembler.h Final round of IWYU fixes for Sandbox2 2023-08-25 06:50:29 -07:00
buffer_test.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
buffer.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
buffer.h Remove Tag constructor, add standard comment for absl::WrapUnique(new T) 2022-10-25 06:20:51 -07:00
BUILD.bazel Remove mutexes from Comms 2023-09-04 07:00:57 -07:00
client.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
client.h IWYU fixes 2023-08-23 09:04:00 -07:00
CMakeLists.txt Remove mutexes from Comms 2023-09-04 07:00:57 -07:00
comms_test.cc Remove mutexes from Comms 2023-09-04 07:00:57 -07:00
comms_test.proto
comms.cc Remove mutexes from Comms 2023-09-04 07:00:57 -07:00
comms.h Remove mutexes from Comms 2023-09-04 07:00:57 -07:00
executor.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
executor.h Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
fork_client.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
fork_client.h Seccomp_unotify based monitor 2023-03-08 08:09:34 -08:00
forkingclient.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
forkingclient.h
forkserver_bin.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
forkserver_test.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
forkserver.cc Refactor Forkserver::LaunchChild 2023-08-30 07:12:30 -07:00
forkserver.h Always override forkservers comms_fd in sandboxee 2023-08-30 02:20:56 -07:00
forkserver.proto Treat libunwind sandbox as a ~regular sandboxee 2023-08-17 13:32:44 -07:00
global_forkclient_lib_ctor.cc
global_forkclient.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
global_forkclient.h Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
ipc_test.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
ipc.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
ipc.h Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
limits_test.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
limits.h
logserver.cc Use Abseil's log/flags instead of glog/gflags 2022-10-20 06:48:51 -07:00
logserver.h Use Abseil's log/flags instead of glog/gflags 2022-10-20 06:48:51 -07:00
logserver.proto
logsink.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
logsink.h Use Abseil's log/flags instead of glog/gflags 2022-10-20 06:48:51 -07:00
monitor_base.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
monitor_base.h Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
monitor_ptrace.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
monitor_ptrace.h Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
monitor_unotify.cc Reduce CHECK-failures in unotify monitor 2023-08-30 02:56:16 -07:00
monitor_unotify.h Reduce CHECK-failures in unotify monitor 2023-08-30 02:56:16 -07:00
mount_tree.proto
mounts_test.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
mounts.cc Final round of IWYU fixes for Sandbox2 2023-08-25 06:50:29 -07:00
mounts.h Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
namespace_test.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
namespace.cc Final round of IWYU fixes for Sandbox2 2023-08-25 06:50:29 -07:00
namespace.h Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
network_proxy_test.cc Rework network_proxy related tests/examples 2023-08-31 06:06:09 -07:00
notify_test.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
notify.h Use Abseil's log/flags instead of glog/gflags 2022-10-20 06:48:51 -07:00
policy_test.cc Rework network_proxy related tests/examples 2023-08-31 06:06:09 -07:00
policy.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
policy.h Final round of IWYU fixes for Sandbox2 2023-08-25 06:50:29 -07:00
policybuilder_test.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
policybuilder.cc Run more tests with coverage enabled 2023-08-31 00:44:23 -07:00
policybuilder.h Run more tests with coverage enabled 2023-08-31 00:44:23 -07:00
README.md
regs_test.cc Final round of IWYU fixes for Sandbox2 2023-08-25 06:50:29 -07:00
regs.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
regs.h Final round of IWYU fixes for Sandbox2 2023-08-25 06:50:29 -07:00
result.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
result.h Final round of IWYU fixes for Sandbox2 2023-08-25 06:50:29 -07:00
sandbox2_test.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
sandbox2.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
sandbox2.h Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
sanitizer_test.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
sanitizer.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
sanitizer.h Final round of IWYU fixes for Sandbox2 2023-08-25 06:50:29 -07:00
stack_trace_test.cc Reenable the stack_trace_test 2023-08-24 09:11:56 -07:00
stack_trace.cc Enable sandboxed stack traces for coverage 2023-08-31 04:05:49 -07:00
stack_trace.h Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
syscall_defs.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
syscall_defs.h Make code not have a -Warray-parameter warning. 2022-08-15 22:55:51 -07:00
syscall_test.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
syscall.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
syscall.h Seccomp_unotify based monitor 2023-03-08 08:09:34 -08:00
testing.h Add IWYU pragma 2023-08-23 07:14:21 -07:00
util_test.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
util.cc Bulk IWYU and build_cleaner fixes 2023-08-24 06:23:36 -07:00
util.h Final round of IWYU fixes for Sandbox2 2023-08-25 06:50:29 -07:00
violation.proto Add field to track policy source location 2023-02-24 07:55:23 -08:00

Sandbox2

Sandbox2 is a C++ security sandbox for Linux which can be used to run untrusted programs or portions of programs in confined environments. The idea is that the runtime environment is so restricted that security bugs such as buffer overflows in the protected region cause no harm.

Documentation

Detailed developer documentation is available on the Google Developers site for Sandboxed API under Sandbox2.

There is also a Getting Started guide for Sandbox2.