Title: [144768] trunk/Source/WebKit2
Revision
144768
Author
[email protected]
Date
2013-03-05 09:32:37 -0800 (Tue, 05 Mar 2013)

Log Message

        <rdar://problem/13345116> REGRESSION: Child processes get access to user cache
        and temporary directories instead of private ones

        Reviewed by Sam Weinig.

        * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::initializeSandbox):
        Restore the correct order of calls, so sandbox parameters respect WebKit pseudo
        containers.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (144767 => 144768)


--- trunk/Source/WebKit2/ChangeLog	2013-03-05 17:26:48 UTC (rev 144767)
+++ trunk/Source/WebKit2/ChangeLog	2013-03-05 17:32:37 UTC (rev 144768)
@@ -1,3 +1,14 @@
+2013-03-05  Alexey Proskuryakov  <[email protected]>
+
+        <rdar://problem/13345116> REGRESSION: Child processes get access to user cache
+        and temporary directories instead of private ones
+
+        Reviewed by Sam Weinig.
+
+        * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::initializeSandbox):
+        Restore the correct order of calls, so sandbox parameters respect WebKit pseudo
+        containers.
+
 2013-03-05  David Kilzer  <[email protected]>
 
         BUILD FIX (r144698): Only enable SPEECH_SYNTHESIS for Mac

Modified: trunk/Source/WebKit2/Shared/mac/ChildProcessMac.mm (144767 => 144768)


--- trunk/Source/WebKit2/Shared/mac/ChildProcessMac.mm	2013-03-05 17:26:48 UTC (rev 144767)
+++ trunk/Source/WebKit2/Shared/mac/ChildProcessMac.mm	2013-03-05 17:32:37 UTC (rev 144768)
@@ -114,6 +114,17 @@
         sandboxParameters.setSystemDirectorySuffix(defaultSystemDirectorySuffix);
     }
 
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1080
+    // Use private temporary and cache directories.
+    setenv("DIRHELPER_USER_DIR_SUFFIX", fileSystemRepresentation(sandboxParameters.systemDirectorySuffix()).data(), 0);
+    char temporaryDirectory[PATH_MAX];
+    if (!confstr(_CS_DARWIN_USER_TEMP_DIR, temporaryDirectory, sizeof(temporaryDirectory))) {
+        WTFLogAlways("%s: couldn't retrieve private temporary directory path: %d\n", getprogname(), errno);
+        exit(EX_NOPERM);
+    }
+    setenv("TMPDIR", temporaryDirectory, 1);
+#endif
+
     sandboxParameters.addPathParameter("WEBKIT2_FRAMEWORK_DIR", [[webkit2Bundle bundlePath] stringByDeletingLastPathComponent]);
     sandboxParameters.addConfDirectoryParameter("DARWIN_USER_TEMP_DIR", _CS_DARWIN_USER_TEMP_DIR);
     sandboxParameters.addConfDirectoryParameter("DARWIN_USER_CACHE_DIR", _CS_DARWIN_USER_CACHE_DIR);
@@ -129,17 +140,6 @@
 
     sandboxParameters.addPathParameter("HOME_DIR", pwd.pw_dir);
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1080
-    // Use private temporary and cache directories.
-    setenv("DIRHELPER_USER_DIR_SUFFIX", fileSystemRepresentation(sandboxParameters.systemDirectorySuffix()).data(), 0);
-    char temporaryDirectory[PATH_MAX];
-    if (!confstr(_CS_DARWIN_USER_TEMP_DIR, temporaryDirectory, sizeof(temporaryDirectory))) {
-        WTFLogAlways("%s: couldn't retrieve private temporary directory path: %d\n", getprogname(), errno);
-        exit(EX_NOPERM);
-    }
-    setenv("TMPDIR", temporaryDirectory, 1);
-#endif
-
     switch (sandboxParameters.mode()) {
     case SandboxInitializationParameters::UseDefaultSandboxProfilePath:
     case SandboxInitializationParameters::UseOverrideSandboxProfilePath: {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to