Changeset 230778 in webkit
- Timestamp:
- Apr 18, 2018, 2:06:50 PM (8 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 2 added
- 13 edited
-
ChangeLog (modified) (1 diff)
-
Configurations/BaseXPCService.xcconfig (modified) (1 diff)
-
Configurations/Network-iOS-minimalsimulator.entitlements (added)
-
Configurations/NetworkService.xcconfig (modified) (1 diff)
-
Configurations/WebContent-iOS-minimalsimulator.entitlements (added)
-
Configurations/WebContentService.Development.xcconfig (modified) (1 diff)
-
Configurations/WebContentService.xcconfig (modified) (1 diff)
-
NetworkProcess/cocoa/NetworkProcessCocoa.mm (modified) (1 diff)
-
NetworkProcess/ios/NetworkProcessIOS.mm (modified) (1 diff)
-
NetworkProcess/mac/NetworkProcessMac.mm (modified) (4 diffs)
-
Shared/ios/ChildProcessIOS.mm (modified) (2 diffs)
-
Shared/mac/ChildProcessMac.mm (modified) (9 diffs)
-
Shared/mac/CodeSigning.mm (modified) (1 diff)
-
WebKit.xcodeproj/project.pbxproj (modified) (3 diffs)
-
WebProcess/cocoa/WebProcessCocoa.mm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r230773 r230778 1 2018-04-18 Jer Noble <jer.noble@apple.com> 2 3 Fix entitlements and sandboxing for iphoneminimalsimulator 4 https://bugs.webkit.org/show_bug.cgi?id=184692 5 6 Reviewed by Tim Horton. 7 8 Use the correct implementations for ChildProcess and NetworkProcess 9 when building for iphoneminimalsimulator. Stub out imlementations 10 which rely on methods not available in the iphoneminimalsimulator SDK. 11 12 * Configurations/Network-OSX.entitlements: Added. 13 * Configurations/NetworkService.xcconfig: 14 * NetworkProcess/cocoa/NetworkProcessCocoa.mm: 15 (WebKit::NetworkProcess::sourceApplicationAuditData const): 16 * NetworkProcess/ios/NetworkProcessIOS.mm: 17 * NetworkProcess/mac/NetworkProcessMac.mm: 18 (WebKit::NetworkProcess::initializeProcessName): 19 (WebKit::overrideSystemProxies): 20 * Shared/ios/ChildProcessIOS.mm: 21 (WebKit::ChildProcess::initializeSandbox): 22 * Shared/mac/ChildProcessMac.mm: 23 (WebKit::ChildProcess::setApplicationIsDaemon): 24 (WebKit::enableSandboxStyleFileQuarantine): 25 (WebKit::ChildProcess::initializeSandbox): 26 (WebKit::ChildProcess::platformStopRunLoop): 27 * Shared/mac/CodeSigning.mm: 28 * WebKit.xcodeproj/project.pbxproj: 29 * WebProcess/cocoa/WebProcessCocoa.mm: 30 (WebKit::WebProcess::initializeSandbox): 31 1 32 2018-04-18 Commit Queue <commit-queue@webkit.org> 2 33 -
trunk/Source/WebKit/Configurations/BaseXPCService.xcconfig
r227618 r230778 54 54 WK_PATH_FROM_SERVICE_EXECUTABLE_TO_FRAMEWORK_SHALLOW_BUNDLE_YES = ../..; 55 55 56 CODE_SIGN_ENTITLEMENTS[sdk=iphone*] = $(CODE_SIGN_ENTITLEMENTS_IOS_SKIP_INSTALL_$(SKIP_INSTALL)); 56 CODE_SIGN_ENTITLEMENTS = $(CODE_SIGN_ENTITLEMENTS_$(WK_PLATFORM_NAME)) 57 CODE_SIGN_ENTITLEMENTS_iphoneos = $(CODE_SIGN_ENTITLEMENTS_IOS_SKIP_INSTALL_$(SKIP_INSTALL)); 58 CODE_SIGN_ENTITLEMENTS_iphonesimulator = $(CODE_SIGN_ENTITLEMENTS_IOS_SKIP_INSTALL_$(SKIP_INSTALL)); 59 CODE_SIGN_ENTITLEMENTS_iphoneminimalsimulator = $(CODE_SIGN_ENTITLEMENTS_IOS_SKIP_INSTALL_$(SKIP_INSTALL)); 57 60 58 61 CODE_SIGN_ENTITLEMENTS_IOS_SKIP_INSTALL_ = $(CODE_SIGN_ENTITLEMENTS_IOS_SKIP_INSTALL_NO); -
trunk/Source/WebKit/Configurations/NetworkService.xcconfig
r227618 r230778 24 24 #include "BaseXPCService.xcconfig" 25 25 26 WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE = Network-iOS; 26 WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE = $(WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE_$(WK_PLATFORM_NAME)); 27 WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE_iphoneos = Network-iOS; 28 WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE_iphonesimulator = Network-iOS; 29 WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE_iphoneminimalsimulator = Network-iOS-minimalsimulator; 27 30 28 31 OTHER_CODE_SIGN_FLAGS = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS); -
trunk/Source/WebKit/Configurations/WebContentService.Development.xcconfig
r230378 r230778 27 27 SKIP_INSTALL[sdk=macosx*] = $(WK_RELOCATABLE_FRAMEWORKS); 28 28 29 CODE_SIGN_ENTITLEMENTS [sdk=macosx*]= Configurations/WebContent.Development.entitlements;29 CODE_SIGN_ENTITLEMENTS_macosx = Configurations/WebContent.Development.entitlements; 30 30 31 31 WK_XPC_SERVICE_VARIANT = Development; -
trunk/Source/WebKit/Configurations/WebContentService.xcconfig
r230673 r230778 24 24 #include "BaseXPCService.xcconfig" 25 25 26 WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE = WebContent-iOS; 26 WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE = $(WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE_$(WK_PLATFORM_NAME)); 27 WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE_iphoneos = WebContent-iOS; 28 WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE_iphonesimulator = WebContent-iOS; 29 WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE_iphoneminimalsimulator = WebContent-iOS-minimalsimulator; 27 30 28 CODE_SIGN_ENTITLEMENTS [sdk=macosx*]= $(CODE_SIGN_ENTITLEMENTS_OSX_WITH_XPC_DOMAIN_EXTENSION_$(WK_WEBCONTENT_SERVICE_NEEDS_XPC_DOMAIN_EXTENSION_ENTITLEMENT));31 CODE_SIGN_ENTITLEMENTS_macosx = $(CODE_SIGN_ENTITLEMENTS_OSX_WITH_XPC_DOMAIN_EXTENSION_$(WK_WEBCONTENT_SERVICE_NEEDS_XPC_DOMAIN_EXTENSION_ENTITLEMENT)); 29 32 CODE_SIGN_ENTITLEMENTS_OSX_WITH_XPC_DOMAIN_EXTENSION_YES = Configurations/WebContent-OSX.entitlements; 30 33 OTHER_CODE_SIGN_FLAGS = $(WK_LIBRARY_VALIDATION_CODE_SIGN_FLAGS); -
trunk/Source/WebKit/NetworkProcess/cocoa/NetworkProcessCocoa.mm
r229978 r230778 155 155 RetainPtr<CFDataRef> NetworkProcess::sourceApplicationAuditData() const 156 156 { 157 #if PLATFORM(IOS) 157 #if PLATFORM(IOS) && !ENABLE(MINIMAL_SIMULATOR) 158 158 audit_token_t auditToken; 159 159 ASSERT(parentProcessConnection()); -
trunk/Source/WebKit/NetworkProcess/ios/NetworkProcessIOS.mm
r223179 r230778 27 27 #import "NetworkProcess.h" 28 28 29 #if PLATFORM(IOS) 29 #if PLATFORM(IOS) && !ENABLE(MINIMAL_SIMULATOR) 30 30 31 31 #import "NetworkCache.h" -
trunk/Source/WebKit/NetworkProcess/mac/NetworkProcessMac.mm
r226349 r230778 27 27 #import "NetworkProcess.h" 28 28 29 #if PLATFORM(MAC) 29 #if PLATFORM(MAC) || ENABLE(MINIMAL_SIMULATOR) 30 30 31 31 #import "NetworkCache.h" … … 59 59 void NetworkProcess::initializeProcessName(const ChildProcessInitializationParameters& parameters) 60 60 { 61 #if !ENABLE(MINIMAL_SIMULATOR) 61 62 NSString *applicationName = [NSString stringWithFormat:WEB_UI_STRING("%@ Networking", "visible name of the network process. The argument is the application name."), (NSString *)parameters.uiProcessName]; 62 63 _LSSetApplicationInformationItem(kLSDefaultSessionID, _LSGetCurrentApplicationASN(), _kLSDisplayNameKey, (CFStringRef)applicationName, nullptr); 64 #endif 63 65 } 64 66 … … 83 85 URL httpsProxyURL(URL(), httpsProxy); 84 86 if (httpsProxyURL.isValid()) { 87 #if !ENABLE(MINIMAL_SIMULATOR) 85 88 [proxySettings setObject:nsStringFromWebCoreString(httpsProxyURL.host()) forKey:(NSString *)kCFNetworkProxiesHTTPSProxy]; 86 89 if (httpsProxyURL.port()) { … … 88 91 [proxySettings setObject:port forKey:(NSString *)kCFNetworkProxiesHTTPSPort]; 89 92 } 93 #endif 90 94 } else 91 95 NSLog(@"Malformed HTTPS Proxy URL '%s'. Expected 'https://<hostname>[:<port>]'\n", httpsProxy.utf8().data()); -
trunk/Source/WebKit/Shared/ios/ChildProcessIOS.mm
r229956 r230778 26 26 #import "config.h" 27 27 28 #if PLATFORM(IOS) 28 #if PLATFORM(IOS) && !ENABLE(MINIMAL_SIMULATOR) 29 29 30 30 #import "ChildProcess.h" … … 71 71 } 72 72 73 #if !ENABLE(MINIMAL_SIMULATOR) 73 74 String sandboxImportPath = "/usr/local/share/sandbox/imports"; 74 75 sandboxParameters.addPathParameter("IMPORT_DIR", FileSystem::fileSystemRepresentation(sandboxImportPath).data()); 76 #endif 75 77 76 78 switch (sandboxParameters.mode()) { -
trunk/Source/WebKit/Shared/mac/ChildProcessMac.mm
r230633 r230778 26 26 #import "config.h" 27 27 28 #if PLATFORM(MAC) 28 #if PLATFORM(MAC) || ENABLE(MINIMAL_SIMULATOR) 29 29 #import "ChildProcess.h" 30 30 … … 32 32 #import "QuarantineSPI.h" 33 33 #import "SandboxInitializationParameters.h" 34 #import "XPCServiceEntryPoint.h" 34 35 #import <WebCore/FileSystem.h> 35 36 #import <WebCore/SystemVersion.h> … … 66 67 void ChildProcess::setApplicationIsDaemon() 67 68 { 69 #if !ENABLE(MINIMAL_SIMULATOR) 68 70 OSStatus error = SetApplicationIsDaemon(true); 69 71 ASSERT_UNUSED(error, error == noErr); 72 #endif 70 73 71 74 launchServicesCheckIn(); … … 86 89 static OSStatus enableSandboxStyleFileQuarantine() 87 90 { 91 #if !ENABLE(MINIMAL_SIMULATOR) 88 92 int error; 89 93 qtn_proc_t quarantineProperties = qtn_proc_alloc(); … … 101 105 // In that case, quarantine falls back to advisory QTN_FLAG_DOWNLOAD. 102 106 return qtn_proc_apply_to_self(quarantineProperties); 107 #else 108 return false; 109 #endif 103 110 } 104 111 … … 171 178 CString profilePath = FileSystem::fileSystemRepresentation(sandboxProfilePath); 172 179 char* errorBuf; 180 #pragma clang diagnostic push 181 #pragma clang diagnostic ignored "-Wdeprecated-declarations" 173 182 if (sandbox_init_with_parameters(profilePath.data(), SANDBOX_NAMED_EXTERNAL, sandboxParameters.namedParameterArray(), &errorBuf)) { 183 #pragma clang diagnostic pop 174 184 WTFLogAlways("%s: Couldn't initialize sandbox profile [%s], error '%s'\n", getprogname(), profilePath.data(), errorBuf); 175 185 for (size_t i = 0, count = sandboxParameters.count(); i != count; ++i) … … 183 193 case SandboxInitializationParameters::UseSandboxProfile: { 184 194 char* errorBuf; 195 #pragma clang diagnostic push 196 #pragma clang diagnostic ignored "-Wdeprecated-declarations" 185 197 if (sandbox_init_with_parameters(sandboxParameters.sandboxProfile().utf8().data(), 0, sandboxParameters.namedParameterArray(), &errorBuf)) { 198 #pragma clang diagnostic pop 186 199 WTFLogAlways("%s: Couldn't initialize sandbox profile, error '%s'\n", getprogname(), errorBuf); 187 200 for (size_t i = 0, count = sandboxParameters.count(); i != count; ++i) … … 213 226 #endif 214 227 215 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400228 #if !ENABLE(MINIMAL_SIMULATOR) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400 216 229 void ChildProcess::stopNSRunLoop() 217 230 { … … 223 236 #endif 224 237 238 #if ENABLE(MINIMAL_SIMULATOR) 239 void ChildProcess::platformStopRunLoop() 240 { 241 XPCServiceExit(WTFMove(m_priorityBoostMessage)); 242 } 243 #endif 244 225 245 void ChildProcess::setQOS(int latencyQOS, int throughputQOS) 226 246 { -
trunk/Source/WebKit/Shared/mac/CodeSigning.mm
r227550 r230778 27 27 #include "CodeSigning.h" 28 28 29 #if PLATFORM(MAC) 29 #if PLATFORM(MAC) || ENABLE(MINIMAL_SIMULATOR) 30 30 31 31 #include <wtf/RetainPtr.h> -
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj
r230640 r230778 10236 10236 "$(SRCROOT)/Configurations/Network-iOS.entitlements", 10237 10237 "$(SRCROOT)/Configurations/WebContent-iOS.entitlements", 10238 "$(SRCROOT)/Configurations/Network-iOS-minimalsimulator.entitlements", 10239 "$(SRCROOT)/Configurations/WebContent-iOS-minimalsimulator.entitlements", 10238 10240 ); 10239 10241 name = "Derive Entitlements for Manual Sandboxing"; … … 10242 10244 "$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/Network-iOS-no-sandbox.entitlements", 10243 10245 "$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/WebContent-iOS-no-sandbox.entitlements", 10246 "$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/Network-iOS-minimalsimulator-no-sandbox.entitlements", 10247 "$(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit2/WebContent-iOS-minimalsimulator-no-sandbox.entitlements", 10244 10248 ); 10245 10249 runOnlyForDeploymentPostprocessing = 0; … … 10277 10281 runOnlyForDeploymentPostprocessing = 0; 10278 10282 shellPath = /bin/sh; 10279 shellScript = "if [[ \"${WK_MANUAL_SANDBOXING_ENABLED}\" != \"YES\" || \"${WK_PLATFORM_NAME}\" == \"macosx\" ]]; then\n exit\nfi\n\nif [[ \"${ACTION}\" == \"build\" || \"${ACTION}\" == \"install\" ]]; then\n for ((i = 0; i < ${SCRIPT_INPUT_FILE_COUNT}; ++i)); do\n eval SANDBOX_PROFILE=\\${SCRIPT_INPUT_FILE_${i}}\n ditto \"${SANDBOX_PROFILE}\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/${SANDBOX_PROFILE##*/}\"\n done\nfi";10283 shellScript = "if [[ \"${WK_MANUAL_SANDBOXING_ENABLED}\" != \"YES\" || \"${WK_PLATFORM_NAME}\" == \"macosx\" || \"${WK_PLATFORM_NAME}\" == \"iphoneminimalsimulator\" ]]; then\n exit\nfi\n\nif [[ \"${ACTION}\" == \"build\" || \"${ACTION}\" == \"install\" ]]; then\n for ((i = 0; i < ${SCRIPT_INPUT_FILE_COUNT}; ++i)); do\n eval SANDBOX_PROFILE=\\${SCRIPT_INPUT_FILE_${i}}\n ditto \"${SANDBOX_PROFILE}\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/${SANDBOX_PROFILE##*/}\"\n done\nfi\n"; 10280 10284 }; 10281 10285 5DF408C5131DD46700130071 /* Check For Weak VTables and Externals */ = { -
trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
r230714 r230778 344 344 NSBundle *webKit2Bundle = [NSBundle bundleForClass:NSClassFromString(@"WKView")]; 345 345 #endif 346 #if PLATFORM(IOS) 346 #if PLATFORM(IOS) && !ENABLE(MINIMAL_SIMULATOR) 347 347 sandboxParameters.setOverrideSandboxProfilePath([webKit2Bundle pathForResource:@"com.apple.WebKit.WebContent" ofType:@"sb"]); 348 348 #else
Note:
See TracChangeset
for help on using the changeset viewer.