1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 22:28:11 +00:00

LibCore+LibIPC: Recognise %uid in path

This patch allows to insert "%uid" in `IPC_CLIENT_CONNECTION`
declaration and in SystemServer's ini files. This pattern is replaced
then replaced by the UID of the owner of the service. It opens a path
for seamlessly managed, per-user portal.
This commit is contained in:
Lucas CHOLLET 2022-07-19 21:01:04 +02:00 committed by Linus Groh
parent c5b7c9f479
commit 1b36348d8b
21 changed files with 33 additions and 21 deletions

View file

@ -322,7 +322,7 @@ Service::Service(Core::ConfigFile const& config, StringView name)
// Need i here to iterate along with all other vectors.
for (unsigned i = 0; i < socket_paths.size(); i++) {
String& path = socket_paths.at(i);
auto const path = Core::Account::parse_path_with_uid(socket_paths.at(i), m_account.has_value() ? m_account.value().uid() : Optional<uid_t> {});
// Socket path (plus NUL) must fit into the structs sent to the Kernel.
VERIFY(path.length() < UNIX_PATH_MAX);