Changeset 170686 in webkit
- Timestamp:
- Jul 1, 2014, 6:24:17 PM (12 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 10 edited
-
ChangeLog (modified) (1 diff)
-
NetworkProcess/cocoa/NetworkProcessCocoa.mm (modified) (1 diff)
-
Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb (modified) (1 diff)
-
Shared/Network/NetworkProcessCreationParameters.cpp (modified) (2 diffs)
-
Shared/Network/NetworkProcessCreationParameters.h (modified) (1 diff)
-
Shared/mac/SandboxUtilities.cpp (modified) (2 diffs)
-
Shared/mac/SandboxUtilities.h (modified) (2 diffs)
-
UIProcess/WebContext.cpp (modified) (1 diff)
-
UIProcess/mac/WebContextMac.mm (modified) (2 diffs)
-
WebProcess/cocoa/WebProcessCocoa.mm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r170685 r170686 1 2014-07-01 Commit Queue <commit-queue@webkit.org> 2 3 Unreviewed, rolling out r170608. 4 https://bugs.webkit.org/show_bug.cgi?id=134533 5 6 Safari keeps crashing on device due to sandbox violation. 7 (Requested by enrica on #webkit). 8 9 Reverted changeset: 10 11 "Restrict network process sandbox" 12 https://bugs.webkit.org/show_bug.cgi?id=134360 13 http://trac.webkit.org/changeset/170608 14 1 15 2014-07-01 Pratik Solanki <psolanki@apple.com> 2 16 -
trunk/Source/WebKit2/NetworkProcess/cocoa/NetworkProcessCocoa.mm
r170608 r170686 61 61 void NetworkProcess::platformInitializeNetworkProcessCocoa(const NetworkProcessCreationParameters& parameters) 62 62 { 63 SandboxExtension::consumePermanently(parameters.cookieStorageDirectoryExtensionHandle); 63 #if PLATFORM(IOS) 64 if (!parameters.uiProcessBundleIdentifier.isNull()) { 65 [NSURLCache setSharedURLCache:adoptNS([[NSURLCache alloc] 66 _initWithMemoryCapacity:parameters.nsURLCacheMemoryCapacity 67 diskCapacity:parameters.nsURLCacheDiskCapacity 68 relativePath:parameters.uiProcessBundleIdentifier]).get()]; 69 } 70 #else 64 71 m_diskCacheDirectory = parameters.diskCacheDirectory; 65 72 66 73 if (!m_diskCacheDirectory.isNull()) { 67 74 SandboxExtension::consumePermanently(parameters.diskCacheDirectoryExtensionHandle); 68 #if PLATFORM(IOS)69 [NSURLCache setSharedURLCache:adoptNS([[NSURLCache alloc]70 _initWithMemoryCapacity:parameters.nsURLCacheMemoryCapacity71 diskCapacity:parameters.nsURLCacheDiskCapacity72 relativePath:parameters.uiProcessBundleIdentifier]).get()];73 #else74 75 [NSURLCache setSharedURLCache:adoptNS([[NSURLCache alloc] 75 76 initWithMemoryCapacity:parameters.nsURLCacheMemoryCapacity 76 77 diskCapacity:parameters.nsURLCacheDiskCapacity 77 78 diskPath:parameters.diskCacheDirectory]).get()]; 79 } 78 80 #endif 79 }80 81 81 82 #if PLATFORM(IOS) || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090 -
trunk/Source/WebKit2/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb
r170608 r170686 23 23 24 24 (version 1) 25 (deny default (with partial-symbolication)) 26 (allow system-audit file-read-metadata) 25 (allow default) 27 26 28 27 (import "common.sb") 29 28 (import "removed-dev-nodes.sb") 30 31 ;; Access CFNetwork shared cookies32 ;; This is too generous -- <rdar://problem/17496756>33 (apple-cookie-access 'with-read-write)34 35 ;; Sandbox extensions36 (allow file-read* (container-subpath "Library/")37 (extension "com.apple.webkit.read"))38 39 ;; Access to client's cache folder & re-vending to CFNetwork.40 (allow file-read* file-write* (container-subpath "Library/")41 (extension "com.apple.nsurlstorage.extension-cache"))42 (allow file-issue-extension (container-subpath "Library/")43 (extension-class "com.apple.nsurlstorage.extension-cache"))44 45 ;; App sandbox extensions46 (allow file-read* file-write* (container-subpath "Library/")47 (extension "com.apple.app-sandbox.read-write"))48 49 ;; Access to own cache & temp folders.50 (allow file-read* file-write* (container-subpath "")51 (extension "com.apple.webkit.read-write"))52 53 ;; IOKit user clients54 (allow iokit-open55 (iokit-user-client-class "RootDomainUserClient"))56 57 ;; Various services required by CFNetwork and other frameworks58 (allow mach-lookup59 (global-name "com.apple.PowerManagement.control"))60 61 (network-client)62 63 ;; Security framework64 (allow mach-lookup65 (global-name "com.apple.ocspd")66 (global-name "com.apple.securityd"))67 68 (deny file-write-create69 (vnode-type SYMLINK)) -
trunk/Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.cpp
r170608 r170686 43 43 encoder << diskCacheDirectory; 44 44 encoder << diskCacheDirectoryExtensionHandle; 45 encoder << cookieStorageDirectory;46 encoder << cookieStorageDirectoryExtensionHandle;47 45 encoder << shouldUseTestingNetworkSession; 48 46 #if ENABLE(CUSTOM_PROTOCOLS) … … 75 73 return false; 76 74 if (!decoder.decode(result.diskCacheDirectoryExtensionHandle)) 77 return false;78 if (!decoder.decode(result.cookieStorageDirectory))79 return false;80 if (!decoder.decode(result.cookieStorageDirectoryExtensionHandle))81 75 return false; 82 76 if (!decoder.decode(result.shouldUseTestingNetworkSession)) -
trunk/Source/WebKit2/Shared/Network/NetworkProcessCreationParameters.h
r170608 r170686 57 57 SandboxExtension::Handle diskCacheDirectoryExtensionHandle; 58 58 59 String cookieStorageDirectory;60 SandboxExtension::Handle cookieStorageDirectoryExtensionHandle;61 62 59 bool shouldUseTestingNetworkSession; 63 60 -
trunk/Source/WebKit2/Shared/mac/SandboxUtilities.cpp
r170608 r170686 28 28 29 29 #include <array> 30 #include <wtf/text/WTFString.h>31 30 32 31 #if __has_include(<sandbox/private.h>) … … 69 68 } 70 69 71 String pathForProcessContainer()72 {73 std::array<char, MAXPATHLEN> path;74 path[0] = 0;75 sandbox_container_path_for_pid(getpid(), path.data(), path.size());76 77 return String::fromUTF8(path.data());78 70 } 79 80 } -
trunk/Source/WebKit2/Shared/mac/SandboxUtilities.h
r170608 r170686 28 28 29 29 #include <sys/types.h> 30 #include <wtf/Forward.h>31 30 32 31 namespace WebKit { … … 35 34 bool processHasContainer(); 36 35 37 // Returns an empty string if the process is not in a container.38 String pathForProcessContainer();39 40 36 } 41 37 -
trunk/Source/WebKit2/UIProcess/WebContext.cpp
r170608 r170686 412 412 SandboxExtension::createHandleForReadWriteDirectory(parameters.diskCacheDirectory, parameters.diskCacheDirectoryExtensionHandle); 413 413 414 parameters.cookieStorageDirectory = cookieStorageDirectory();415 if (!parameters.cookieStorageDirectory.isEmpty())416 SandboxExtension::createHandleForReadWriteDirectory(parameters.cookieStorageDirectory, parameters.cookieStorageDirectoryExtensionHandle);417 418 414 parameters.shouldUseTestingNetworkSession = m_shouldUseTestingNetworkSession; 419 415 -
trunk/Source/WebKit2/UIProcess/mac/WebContextMac.mm
r170608 r170686 28 28 29 29 #import "PluginProcessManager.h" 30 #import "SandboxUtilities.h"31 30 #import "TextChecker.h" 32 31 #import "WKBrowsingContextControllerInternal.h" … … 271 270 String WebContext::platformDefaultCookieStorageDirectory() const 272 271 { 273 #if PLATFORM(IOS)274 String path = pathForProcessContainer();275 if (path.isEmpty())276 path = NSHomeDirectory();277 278 path = path + "/Library/Cookies";279 return stringByResolvingSymlinksInPath(path);280 #else281 272 notImplemented(); 282 273 return [@"" stringByStandardizingPath]; 283 #endif284 274 } 285 275 -
trunk/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm
r170608 r170686 168 168 SandboxExtension::consumePermanently(parameters.applicationCacheDirectoryExtensionHandle); 169 169 SandboxExtension::consumePermanently(parameters.diskCacheDirectoryExtensionHandle); 170 SandboxExtension::consumePermanently(parameters.cookieStorageDirectoryExtensionHandle);171 170 #endif 172 171
Note:
See TracChangeset
for help on using the changeset viewer.