summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Base/etc/SystemServer.ini9
-rw-r--r--Base/home/anon/.config/SystemServer.ini8
-rw-r--r--Documentation/Browser/ProcessArchitecture.md8
-rw-r--r--Userland/Applications/Browser/main.cpp2
-rw-r--r--Userland/Applications/Help/main.cpp2
-rw-r--r--Userland/Applications/Mail/main.cpp2
-rw-r--r--Userland/Applications/Spreadsheet/main.cpp2
-rw-r--r--Userland/Applications/TextEditor/main.cpp2
-rw-r--r--Userland/Applications/Welcome/main.cpp2
-rw-r--r--Userland/Libraries/LibWebView/WebContentClient.h2
10 files changed, 21 insertions, 18 deletions
diff --git a/Base/etc/SystemServer.ini b/Base/etc/SystemServer.ini
index 7a7909b580..5f0afb4707 100644
--- a/Base/etc/SystemServer.ini
+++ b/Base/etc/SystemServer.ini
@@ -8,15 +8,6 @@ SystemModes=text,graphical
MultiInstance=true
AcceptSocketConnections=true
-[WebContent]
-Socket=/tmp/portal/webcontent
-SocketPermissions=600
-Lazy=true
-User=anon
-SystemModes=graphical
-MultiInstance=true
-AcceptSocketConnections=true
-
[ImageDecoder]
Socket=/tmp/portal/image
SocketPermissions=600
diff --git a/Base/home/anon/.config/SystemServer.ini b/Base/home/anon/.config/SystemServer.ini
index e18d5c0bb2..abab78ce31 100644
--- a/Base/home/anon/.config/SystemServer.ini
+++ b/Base/home/anon/.config/SystemServer.ini
@@ -11,6 +11,14 @@ SystemModes=text,graphical
MultiInstance=true
AcceptSocketConnections=true
+[WebContent]
+Socket=/tmp/user/%uid/portal/webcontent
+SocketPermissions=600
+Lazy=true
+SystemModes=graphical
+MultiInstance=true
+AcceptSocketConnections=true
+
[LaunchServer]
Socket=/tmp/user/%uid/portal/launch
SocketPermissions=600
diff --git a/Documentation/Browser/ProcessArchitecture.md b/Documentation/Browser/ProcessArchitecture.md
index 0dc17d4e89..ea065f8304 100644
--- a/Documentation/Browser/ProcessArchitecture.md
+++ b/Documentation/Browser/ProcessArchitecture.md
@@ -30,9 +30,13 @@ This process can decode images (PNG, JPEG, BMP, ICO, PBM, etc.) into bitmaps. Ea
### How processes are spawned
-To get a fresh **WebContent** process, anyone with the suitable file system permissions can spawn one by connecting to the socket at `/tmp/portal/webcontent`. This socket is managed by **SystemServer** and will spawn a new instance of **WebContent** for every connection.
+To get a fresh **WebContent** process, anyone with the suitable file system permissions can spawn one by connecting to
+the socket at `/tmp/user/%uid/portal/webcontent`, with `%uid` being the uid of the current user. This socket is managed
+by **
+SystemServer** and will spawn a new instance of **WebContent** for every connection.
-The same basic concept applies to **RequestServer** and **ImageDecoder** as well, except that those services are spawned by **WebContent** as needed, not by **Browser**.
+The same basic concept applies to **RequestServer** and **ImageDecoder** as well, except that those services are spawned
+by **WebContent** as needed, not by **Browser**.
## Class overview
diff --git a/Userland/Applications/Browser/main.cpp b/Userland/Applications/Browser/main.cpp
index 530a43512b..2af157d710 100644
--- a/Userland/Applications/Browser/main.cpp
+++ b/Userland/Applications/Browser/main.cpp
@@ -86,7 +86,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
TRY(Core::System::unveil("/etc/timezone", "r"));
TRY(Core::System::unveil("/tmp/portal/filesystemaccess", "rw"));
TRY(Core::System::unveil("/tmp/portal/image", "rw"));
- TRY(Core::System::unveil("/tmp/portal/webcontent", "rw"));
+ TRY(Core::System::unveil("/tmp/user/%uid/portal/webcontent", "rw"));
TRY(Core::System::unveil("/tmp/user/%uid/portal/request", "rw"));
TRY(Core::System::unveil("/bin/BrowserSettings", "x"));
TRY(Core::System::unveil(nullptr, nullptr));
diff --git a/Userland/Applications/Help/main.cpp b/Userland/Applications/Help/main.cpp
index a07460aebd..26ae9de146 100644
--- a/Userland/Applications/Help/main.cpp
+++ b/Userland/Applications/Help/main.cpp
@@ -35,7 +35,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
TRY(Core::System::unveil("/usr/share/man", "r"));
TRY(Core::System::unveil("/tmp/portal/filesystemaccess", "rw"));
TRY(Core::System::unveil("/tmp/user/%uid/portal/launch", "rw"));
- TRY(Core::System::unveil("/tmp/portal/webcontent", "rw"));
+ TRY(Core::System::unveil("/tmp/user/%uid/portal/webcontent", "rw"));
TRY(Core::System::unveil(nullptr, nullptr));
String start_page;
diff --git a/Userland/Applications/Mail/main.cpp b/Userland/Applications/Mail/main.cpp
index a517003884..7970ad6137 100644
--- a/Userland/Applications/Mail/main.cpp
+++ b/Userland/Applications/Mail/main.cpp
@@ -26,7 +26,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
TRY(Core::System::unveil("/res", "r"));
TRY(Core::System::unveil("/etc", "r"));
- TRY(Core::System::unveil("/tmp/portal/webcontent", "rw"));
+ TRY(Core::System::unveil("/tmp/user/%uid/portal/webcontent", "rw"));
TRY(Core::System::unveil("/tmp/portal/lookup", "rw"));
TRY(Core::System::unveil("/tmp/user/%uid/portal/launch", "rw"));
TRY(Core::System::unveil(nullptr, nullptr));
diff --git a/Userland/Applications/Spreadsheet/main.cpp b/Userland/Applications/Spreadsheet/main.cpp
index 24bf243667..7b523f1aed 100644
--- a/Userland/Applications/Spreadsheet/main.cpp
+++ b/Userland/Applications/Spreadsheet/main.cpp
@@ -44,7 +44,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
}
}
- TRY(Core::System::unveil("/tmp/portal/webcontent", "rw"));
+ TRY(Core::System::unveil("/tmp/user/%uid/portal/webcontent", "rw"));
// For writing temporary files when exporting.
TRY(Core::System::unveil("/tmp", "crw"));
TRY(Core::System::unveil("/etc", "r"));
diff --git a/Userland/Applications/TextEditor/main.cpp b/Userland/Applications/TextEditor/main.cpp
index 2186bd9533..e8e56d6074 100644
--- a/Userland/Applications/TextEditor/main.cpp
+++ b/Userland/Applications/TextEditor/main.cpp
@@ -33,7 +33,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
TRY(Core::System::unveil("/res", "r"));
TRY(Core::System::unveil("/tmp/user/%uid/portal/launch", "rw"));
- TRY(Core::System::unveil("/tmp/portal/webcontent", "rw"));
+ TRY(Core::System::unveil("/tmp/user/%uid/portal/webcontent", "rw"));
TRY(Core::System::unveil("/tmp/portal/filesystemaccess", "rw"));
TRY(Core::System::unveil(nullptr, nullptr));
diff --git a/Userland/Applications/Welcome/main.cpp b/Userland/Applications/Welcome/main.cpp
index 94f3c1a7c4..1f11ab127f 100644
--- a/Userland/Applications/Welcome/main.cpp
+++ b/Userland/Applications/Welcome/main.cpp
@@ -22,7 +22,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
TRY(Core::System::unveil("/res", "r"));
TRY(Core::System::unveil("/home", "r"));
- TRY(Core::System::unveil("/tmp/portal/webcontent", "rw"));
+ TRY(Core::System::unveil("/tmp/user/%uid/portal/webcontent", "rw"));
TRY(Core::System::unveil("/bin/Help", "x"));
TRY(Core::System::unveil(nullptr, nullptr));
auto app_icon = GUI::Icon::default_icon("app-welcome"sv);
diff --git a/Userland/Libraries/LibWebView/WebContentClient.h b/Userland/Libraries/LibWebView/WebContentClient.h
index ecb722f3cd..b305a75ed9 100644
--- a/Userland/Libraries/LibWebView/WebContentClient.h
+++ b/Userland/Libraries/LibWebView/WebContentClient.h
@@ -19,7 +19,7 @@ class OutOfProcessWebView;
class WebContentClient final
: public IPC::ConnectionToServer<WebContentClientEndpoint, WebContentServerEndpoint>
, public WebContentClientEndpoint {
- IPC_CLIENT_CONNECTION(WebContentClient, "/tmp/portal/webcontent"sv);
+ IPC_CLIENT_CONNECTION(WebContentClient, "/tmp/user/%uid/portal/webcontent"sv);
public:
Function<void()> on_web_content_process_crash;