ladybird/Services/RequestServer
Andreas Kling ea1ecdad5a RequestServer: Sandbox the process on Linux
Add opt-in Linux sandbox support to RequestServer. Ladybird and test-web
pass --enable-sandbox through when requested, and RequestServer only
installs the sandbox when that flag is present.

Allow reads for resolver and TLS configuration, plus the configured
certificate locations. Create and allow writes to the Ladybird cache
root, so libcurl alt-svc files and HTTP disk-cache files stay inside the
single writable tree. Also allow the systemd-resolved runtime directory
when present, since /etc/resolv.conf can point there.

Extend LibSandbox with owned Landlock paths, an add-if-exists helper,
read/write Landlock access, and reusable seccomp groups for filesystem
writes and network syscalls. Include POSIX file locks and socket byte
count ioctls needed by libc resolver and cache paths. Reuse the new
Landlock helper from Compositor as well, and allow its Mesa shader cache
directory so GPU startup can populate shader cache files after
sandboxing.
2026-06-09 19:35:09 +02:00
..
CacheLevel.h Everywhere: Hoist the Services folder to the top-level 2024-11-10 12:50:45 +01:00
CMakeLists.txt RequestServer: Sandbox the process on Linux 2026-06-09 19:35:09 +02:00
ConnectionFromClient.cpp LibRequests+RequestServer: Send oversized ws frames via shared memory 2026-05-27 09:52:34 +02:00
ConnectionFromClient.h LibRequests+RequestServer: Send oversized ws frames via shared memory 2026-05-27 09:52:34 +02:00
CURL.cpp LibRequests+RequestServer: Add an error code for CURLE_PARTIAL_FILE 2026-01-08 11:59:12 +01:00
CURL.h RequestServer: Move some cURL utilities to their own file 2025-10-28 11:52:51 +01:00
Forward.h LibHTTP+RequestServer: Move the HTTP cache implementation to LibHTTP 2025-11-29 08:35:02 -05:00
main.cpp RequestServer: Sandbox the process on Linux 2026-06-09 19:35:09 +02:00
Request.cpp RequestServer: Send bytecode cache sidecars as files 2026-05-16 08:13:35 +02:00
Request.h RequestServer: Pre-resolve preconnect handles via our DNS resolver 2026-04-26 17:59:52 +02:00
RequestClient.ipc RequestServer: Send bytecode cache sidecars as files 2026-05-16 08:13:35 +02:00
RequestPipe.cpp RequestServer: Increase RequestPipe socket buffer sizes 2026-03-15 09:06:06 -04:00
RequestPipe.h LibCore+RequestServer: Return size_t from system read/write functions 2025-12-01 16:29:48 +01:00
RequestServer.ipc LibRequests+RequestServer: Send oversized ws frames via shared memory 2026-05-27 09:52:34 +02:00
RequestType.h RequestServer: Move Request::Type enum to its own file 2026-04-13 19:43:13 -04:00
Resolver.cpp RequestServer: Move Resolver (and related structures) to its own file 2025-10-28 11:52:51 +01:00
Resolver.h RequestServer: Move Resolver (and related structures) to its own file 2025-10-28 11:52:51 +01:00
ResourceSubstitutionMap.cpp RequestServer: Add --resource-map option for URL-to-file substitution 2026-01-19 10:23:26 +01:00
ResourceSubstitutionMap.h RequestServer: Add --resource-map option for URL-to-file substitution 2026-01-19 10:23:26 +01:00
Sandbox.h RequestServer: Sandbox the process on Linux 2026-06-09 19:35:09 +02:00
SandboxLinux.cpp RequestServer: Sandbox the process on Linux 2026-06-09 19:35:09 +02:00
SandboxUnimplemented.cpp RequestServer: Sandbox the process on Linux 2026-06-09 19:35:09 +02:00
WebSocketImplCurl.cpp RequestServer: Queue websocket writes under curl backpressure 2026-05-05 19:14:29 +02:00
WebSocketImplCurl.h RequestServer: Queue websocket writes under curl backpressure 2026-05-05 19:14:29 +02:00