1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 22:48:11 +00:00
serenity/Userland/Libraries/LibCore
Liav A 718ae68621 Kernel+LibCore+LibC: Implement support for forcing unveil on exec
To accomplish this, we add another VeilState which is called
LockedInherited. The idea is to apply exec unveil data, similar to
execpromises of the pledge syscall, on the current exec'ed program
during the execve sequence. When applying the forced unveil data, the
veil state is set to be locked but the special state of LockedInherited
ensures that if the new program tries to unveil paths, the request will
silently be ignored, so the program will continue running without
receiving an error, but is still can only use the paths that were
unveiled before the exec syscall. This in turn, allows us to use the
unveil syscall with a special utility to sandbox other userland programs
in terms of what is visible to them on the filesystem, and is usable on
both programs that use or don't use the unveil syscall in their code.
2022-11-26 12:42:15 -07:00
..
Account.cpp LibCore: Add query for all accounts and groups 2022-11-13 17:49:03 -07:00
Account.h LibCore: Add query for all accounts and groups 2022-11-13 17:49:03 -07:00
AnonymousBuffer.cpp LibCore: Convert AnonymousBuffer to use System::anon_create 2022-02-10 21:35:17 +01:00
AnonymousBuffer.h Userland: Properly define IPC::encode and IPC::decode specializations 2022-11-15 13:25:51 -05:00
ArgsParser.cpp AK+Everywhere: Turn bool keep_empty to an enum in split* functions 2022-10-24 23:29:18 +01:00
ArgsParser.h LibCore: Implement integral ArgsParser options through a template 2022-07-21 16:37:04 +02:00
CMakeLists.txt Everywhere: Add support for compilation under emscripten 2022-11-26 02:23:15 +03:30
Command.cpp Everywhere: Replace uses of __serenity__ with AK_OS_SERENITY 2022-10-10 12:23:12 +02:00
Command.h Everywhere: Rename CommandResult stdout, stderr members to output, error 2022-03-27 16:41:39 -07:00
ConfigFile.cpp LibCore: Add a ConfigFile::open() overload for Core::Stream::File 2022-11-19 17:00:10 +00:00
ConfigFile.h LibCore: Add a ConfigFile::open() overload for Core::Stream::File 2022-11-19 17:00:10 +00:00
DateTime.cpp LibC+LibCore: Use tm_isdst to handle time zone offsets in DST 2022-08-02 21:10:44 +01:00
DateTime.h Userland: Properly define IPC::encode and IPC::decode specializations 2022-11-15 13:25:51 -05:00
Debounce.h LibCore: Add Core::debounce(function, timeout) 2022-07-19 11:10:02 +01:00
DeferredInvocationContext.h Libraries: Use default constructors/destructors in LibCore 2022-03-10 18:04:26 -08:00
Directory.cpp LibCore: Add Directory::chown() API and use it in Core::Account 2022-08-15 17:18:11 +02:00
Directory.h LibCore: Add Directory::chown() API and use it in Core::Account 2022-08-15 17:18:11 +02:00
DirIterator.cpp Userland: Consolidate most PATH resolving into a single implementation 2022-08-23 19:00:04 +01:00
DirIterator.h Userland: Consolidate most PATH resolving into a single implementation 2022-08-23 19:00:04 +01:00
ElapsedTimer.cpp LibCore: Add ElapsedTimer::reset() 2021-10-28 11:21:18 +02:00
ElapsedTimer.h LibCore: Add ElapsedTimer::reset() 2021-10-28 11:21:18 +02:00
Event.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Event.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
EventLoop.cpp Everywhere: Replace uses of __serenity__ with AK_OS_SERENITY 2022-10-10 12:23:12 +02:00
EventLoop.h LibAudio: Prevent racy eternal deadlock of the audio enqueue thread 2022-07-22 19:35:41 +01:00
File.cpp LibCore: Use utimensat() in Core::File to preserve nanosecond timestamps 2022-11-24 16:56:27 +01:00
File.h LibCore: Actually tell people to stop using Core::File in new code 2022-09-20 07:48:45 -04:00
FilePermissionsMask.cpp LibCore: Implement four-digit modes for FilePermissionsMask parsing 2022-07-27 21:45:01 +00:00
FilePermissionsMask.h LibCore: Implement the 'X' modifier into FilePermissionMask 2022-07-27 21:45:01 +00:00
FileStream.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
FileWatcher.cpp Everywhere: Replace uses of __serenity__ with AK_OS_SERENITY 2022-10-10 12:23:12 +02:00
FileWatcher.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
Forward.h Core: Remove non-existent classes from Forward.h 2022-02-18 23:31:28 +00:00
GetPassword.cpp LibCore: Use LibCore syscall wrappers in get_password() 2021-11-30 23:34:40 +01:00
GetPassword.h LibCore: Use ErrorOr<T> for Core::get_password() 2021-11-08 00:35:27 +01:00
Group.cpp LibCore: Sync groups, getgrent to getgrent_r, fix gr_mem bug 2022-11-25 23:13:16 +01:00
Group.h LibCore: Sync groups, getgrent to getgrent_r, fix gr_mem bug 2022-11-25 23:13:16 +01:00
InputBitStream.h LibCore: Add LittleEndianInputBitStream 2022-05-21 22:41:40 +02:00
IODevice.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
IODevice.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
LocalServer.cpp LibCore: Add support for LocalServer to propogate accept() errors 2022-11-08 19:58:34 -05:00
LocalServer.h LibCore: Add support for LocalServer to propogate accept() errors 2022-11-08 19:58:34 -05:00
LockFile.cpp LibCore+Userland: Remove File::ensure_parent_directories 2022-04-11 00:08:48 +02:00
LockFile.h Everywhere: Use my cool new @serenityos.org email address 2021-09-01 11:37:25 +04:30
MappedFile.cpp Everywhere: Add support for compilation under emscripten 2022-11-26 02:23:15 +03:30
MappedFile.h LibCore+LibGfx: Pass file-path as StringView 2022-06-14 23:00:52 +02:00
MemoryStream.h LibCore: Allow MemoryStream::seek to go to EOF 2022-11-13 18:51:18 -07:00
MimeData.cpp LibCore: Add MIME sniffing for MP3 and WAV 2022-08-16 13:58:51 +01:00
MimeData.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
NetworkJob.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
NetworkJob.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
NetworkResponse.h Libraries: Use default constructors/destructors in LibCore 2022-03-10 18:04:26 -08:00
Notifier.cpp LibCore: Remove unused header includes 2021-08-01 08:10:16 +02:00
Notifier.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Object.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Object.h LibCore: Allow array-like rectangle specifications for rect properties 2022-11-25 14:28:33 -07:00
Process.cpp LibCore: Add argument to specify working directory in Process::spawn 2022-10-17 01:37:58 +02:00
Process.h LibCore: Add argument to specify working directory in Process::spawn 2022-10-17 01:37:58 +02:00
ProcessStatisticsReader.cpp LibCore: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
ProcessStatisticsReader.h LibCore: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Promise.h Everywhere: Remove unnecessary mutable attributes from lambdas 2022-11-19 14:37:31 +00:00
Property.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Property.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
Proxy.h Userland: Properly define IPC::encode and IPC::decode specializations 2022-11-15 13:25:51 -05:00
SecretString.cpp Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr 2022-01-24 22:36:09 +01:00
SecretString.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
SessionManagement.cpp LibCore: Create Core::SessionManagement for session management 2022-10-03 11:11:29 +02:00
SessionManagement.h LibCore: Create Core::SessionManagement for session management 2022-10-03 11:11:29 +02:00
SharedCircularQueue.h LibCore: Fix deadlock in SharedSingleProducerCircularQueue 2022-08-23 01:03:10 +02:00
SocketAddress.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
SOCKSProxyClient.cpp Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
SOCKSProxyClient.h LibCore+Everywhere: Make Core::Stream::read() return Bytes 2022-04-16 13:27:51 -04:00
StandardPaths.cpp LibCore: Add documents_directory() to StandardPaths 2022-10-01 13:39:10 +03:30
StandardPaths.h LibCore: Add documents_directory() to StandardPaths 2022-10-01 13:39:10 +03:30
Stream.cpp LibCore: Add standard_{output, input, error} functions to File::Stream 2022-10-12 12:00:21 -06:00
Stream.h LibCore: Limit to the user buffer size when reading lines from a stream 2022-10-27 13:08:19 +02:00
System.cpp Kernel+LibCore+LibC: Implement support for forcing unveil on exec 2022-11-26 12:42:15 -07:00
System.h Kernel+LibCore+LibC: Implement support for forcing unveil on exec 2022-11-26 12:42:15 -07:00
SystemServerTakeover.cpp Everywhere: Split Error::from_string_literal and Error::from_string_view 2022-07-12 23:11:35 +02:00
SystemServerTakeover.h LibCore+LibIPC: Move SystemServerTakeover.{h,cpp} to LibCore 2022-02-06 10:28:19 +01:00
TCPServer.cpp LibCore: Allow TCPServer's port to be reused after it exits 2022-11-14 13:43:24 -05:00
TCPServer.h LibCore: Allow TCPServer's port to be reused after it exits 2022-11-14 13:43:24 -05:00
TempFile.cpp Userland: Remove a bunch of unnecessary Vector imports 2022-01-28 23:40:25 +01:00
TempFile.h LibCore: Add utility class for temporary files and directories 2022-01-12 14:55:19 +01:00
Timer.cpp Libraries: Use default constructors/destructors in LibCore 2022-03-10 18:04:26 -08:00
Timer.h Libraries: Use default constructors/destructors in LibCore 2022-03-10 18:04:26 -08:00
UDPServer.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
UDPServer.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
UmaskScope.h Everywhere: Fix order of includes and #pragma once 2022-09-18 18:30:05 -07:00
Version.cpp LibCore: Read version information from uname() instead of /res/version 2022-10-14 13:45:33 +02:00
Version.h Userland+LibCore: Remove legacy SERENITY_VERSION from Core::Version 2022-10-14 13:45:33 +02:00