Title: [239204] trunk/Source/WebKit
Revision
239204
Author
[email protected]
Date
2018-12-14 06:38:48 -0800 (Fri, 14 Dec 2018)

Log Message

[GTK][WPE] Fix forwarding webkit socket to flatpak sandbox
https://bugs.webkit.org/show_bug.cgi?id=192622

Patch by Patrick Griffis <[email protected]> on 2018-12-14
Reviewed by Michael Catanzaro.

This fixes running with the sandbox enabled in Flatpak.

* UIProcess/Launcher/glib/FlatpakLauncher.cpp:
(WebKit::flatpakSpawn):
* UIProcess/Launcher/glib/FlatpakLauncher.h:
* UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:
(WebKit::ProcessLauncher::launchProcess):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (239203 => 239204)


--- trunk/Source/WebKit/ChangeLog	2018-12-14 12:57:22 UTC (rev 239203)
+++ trunk/Source/WebKit/ChangeLog	2018-12-14 14:38:48 UTC (rev 239204)
@@ -1,3 +1,18 @@
+2018-12-14  Patrick Griffis  <[email protected]>
+
+        [GTK][WPE] Fix forwarding webkit socket to flatpak sandbox
+        https://bugs.webkit.org/show_bug.cgi?id=192622
+
+        Reviewed by Michael Catanzaro.
+
+        This fixes running with the sandbox enabled in Flatpak.
+
+        * UIProcess/Launcher/glib/FlatpakLauncher.cpp:
+        (WebKit::flatpakSpawn):
+        * UIProcess/Launcher/glib/FlatpakLauncher.h:
+        * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:
+        (WebKit::ProcessLauncher::launchProcess):
+
 2018-12-14  Carlos Garcia Campos  <[email protected]>
 
         [WPE] Use new view state API from libwpe

Modified: trunk/Source/WebKit/UIProcess/Launcher/glib/FlatpakLauncher.cpp (239203 => 239204)


--- trunk/Source/WebKit/UIProcess/Launcher/glib/FlatpakLauncher.cpp	2018-12-14 12:57:22 UTC (rev 239203)
+++ trunk/Source/WebKit/UIProcess/Launcher/glib/FlatpakLauncher.cpp	2018-12-14 14:38:48 UTC (rev 239204)
@@ -29,10 +29,11 @@
 #if OS(LINUX)
 
 #include <gio/gio.h>
+#include <wtf/glib/GUniquePtr.h>
 
 namespace WebKit {
 
-GRefPtr<GSubprocess> flatpakSpawn(GSubprocessLauncher* launcher, const WebKit::ProcessLauncher::LaunchOptions& launchOptions, char** argv, GError **error)
+GRefPtr<GSubprocess> flatpakSpawn(GSubprocessLauncher* launcher, const WebKit::ProcessLauncher::LaunchOptions& launchOptions, char** argv, int childProcessSocket, GError** error)
 {
     ASSERT(launcher);
 
@@ -44,8 +45,10 @@
     // much outside of `--sandbox` (no permissions) and `--no-network`. We need to
     // add some permissions in between those for this to provide meaningful security.
 
+    GUniquePtr<gchar> childProcessSocketArg(g_strdup_printf("--forward-fd=%d", childProcessSocket));
     Vector<const char*> flatpakArgs = {
         "/usr/bin/flatpak-spawn",
+        childProcessSocketArg.get(),
     };
 
     char** newArgv = g_newa(char*, g_strv_length(argv) + flatpakArgs.size() + 1);

Modified: trunk/Source/WebKit/UIProcess/Launcher/glib/FlatpakLauncher.h (239203 => 239204)


--- trunk/Source/WebKit/UIProcess/Launcher/glib/FlatpakLauncher.h	2018-12-14 12:57:22 UTC (rev 239203)
+++ trunk/Source/WebKit/UIProcess/Launcher/glib/FlatpakLauncher.h	2018-12-14 14:38:48 UTC (rev 239204)
@@ -36,7 +36,7 @@
 
 namespace WebKit {
 
-GRefPtr<GSubprocess> flatpakSpawn(GSubprocessLauncher*, const WebKit::ProcessLauncher::LaunchOptions&, char** argv, GError**);
+GRefPtr<GSubprocess> flatpakSpawn(GSubprocessLauncher*, const WebKit::ProcessLauncher::LaunchOptions&, char** argv, int childProcessSocket, GError**);
 
 };
 

Modified: trunk/Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp (239203 => 239204)


--- trunk/Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp	2018-12-14 12:57:22 UTC (rev 239203)
+++ trunk/Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp	2018-12-14 14:38:48 UTC (rev 239204)
@@ -173,7 +173,7 @@
         sandboxEnabled = !strcmp(sandboxEnv, "1");
 
     if (sandboxEnabled && isInsideFlatpak())
-        process = flatpakSpawn(launcher.get(), m_launchOptions, argv, &error.outPtr());
+        process = flatpakSpawn(launcher.get(), m_launchOptions, argv, socketPair.client, &error.outPtr());
 #if ENABLE(BUBBLEWRAP_SANDBOX)
     else if (sandboxEnabled)
         process = bubblewrapSpawn(launcher.get(), m_launchOptions, argv, &error.outPtr());
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to