Changeset 268248 in webkit
- Timestamp:
- Oct 8, 2020 10:16:03 PM (3 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 7 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r268246 r268248 1 2020-10-08 Jiewen Tan <jiewen_tan@apple.com> 2 3 [WebAuthn] Implement a dummy WebAuthenticationAgent 4 https://bugs.webkit.org/show_bug.cgi?id=217401 5 <rdar://problem/70012011> 6 7 Reviewed by Darin Adler. 8 9 Part 1. 10 11 This patch introduces a new dummy WebAuthenticationAgent where in the future it will take over all WebAuthn operations 12 from the UI Process such that we can isolate high privileged entitlements to this standalone daemon and therefore are able 13 offer WebAuthn to third party WKWebView clients. One of the future feautres will require this new process to listen to 14 LaunchEvents, which only daemons can do. That's why it is implemented as a user agent instead of a XPC service. 15 16 This is the first part of establishing such a dummy daemon. What it does is to set up a new build target for the daemon and 17 hook it up with WebKit's build system. One can manually load the launchd plist and load the daemon to verify this change. 18 19 Commands are: 20 launchctl load /to/your/path/com.apple.webkit.WebAuthenticationAgent.plist 21 launchctl start com.apple.webkit.WebAuthenticationAgent.Development 22 23 Covered by manual tests. 24 25 * Configurations/WebAuthenticationAgent.xcconfig: Added. 26 Somehow the executable has a suffix .Development for debug/release builds. Will fix that in the later part. 27 * Daemons/WebAuthenticationAgent/Info.plist: Added. 28 * Daemons/WebAuthenticationAgent/WebAuthenticationAgent.entitlements: Added. 29 * Daemons/WebAuthenticationAgent/com.apple.webkit.WebAuthenticationAgent.plist: Added. 30 The executable location is hardcoded for now. It will be fixed in Part 2 to dynamically point to the right binary. 31 * Daemons/WebAuthenticationAgent/main.mm: Added. 32 (main): 33 * WebKit.xcodeproj/project.pbxproj: 34 Not sure why libWTF.a is needed. Will fix that in the later part. 35 1 36 2020-10-08 Chris Fleizach <cfleizach@apple.com> 2 37 -
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj
r268239 r268248 15 15 ); 16 16 dependencies = ( 17 57A9FF0C252C31D6006A2040 /* PBXTargetDependency */, 17 18 BCA8D46815BCE0D6009DC1F1 /* PBXTargetDependency */, 18 19 372EBB492017E6CF00085064 /* PBXTargetDependency */, … … 1105 1106 575B1BB923CE9C0B0020639A /* SimulatedInputDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 995226D5207D184600F78420 /* SimulatedInputDispatcher.cpp */; }; 1106 1107 575B1BBA23CE9C130020639A /* WebAutomationSession.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9955A6EA1C7980BB00EB6A93 /* WebAutomationSession.cpp */; }; 1108 576BCD5E252FD22D00CE9F87 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC3DE46815A91763008D26FC /* Foundation.framework */; }; 1107 1109 576CA9D722B862180030143C /* SOAuthorizationNSURLExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 57FD317322B35148008D0E8B /* SOAuthorizationNSURLExtras.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1108 1110 5772F206217DBD6A0056BF2C /* HidService.h in Headers */ = {isa = PBXBuildFile; fileRef = 5772F204217DBD6A0056BF2C /* HidService.h */; }; … … 1113 1115 579F1BF923C80EC600C7D4B4 /* _WKWebAuthenticationAssertionResponseInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 579F1BF823C80EC600C7D4B4 /* _WKWebAuthenticationAssertionResponseInternal.h */; }; 1114 1116 579F1BFC23C811CF00C7D4B4 /* APIWebAuthenticationAssertionResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 579F1BFA23C811CF00C7D4B4 /* APIWebAuthenticationAssertionResponse.h */; }; 1117 57A9FF09252BEAF0006A2040 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 57A9FF08252BEAF0006A2040 /* main.mm */; }; 1118 57A9FF1D252C6CE6006A2040 /* libWTF.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 57A9FF15252C6AEF006A2040 /* libWTF.a */; }; 1115 1119 57AC8F50217FEED90055438C /* HidConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 57AC8F4E217FEED90055438C /* HidConnection.h */; }; 1116 1120 57B4B46020B504AC00D4AD79 /* ClientCertificateAuthenticationXPCConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 57B4B45E20B504AB00D4AD79 /* ClientCertificateAuthenticationXPCConstants.h */; }; … … 1966 1970 remoteInfo = "Derived Sources"; 1967 1971 }; 1972 57A9FF0B252C31D6006A2040 /* PBXContainerItemProxy */ = { 1973 isa = PBXContainerItemProxy; 1974 containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; 1975 proxyType = 1; 1976 remoteGlobalIDString = 57A9FEFB252BD8AA006A2040; 1977 remoteInfo = WebAuthenticationAgent; 1978 }; 1968 1979 BC8283D416B4C01F00A278FE /* PBXContainerItemProxy */ = { 1969 1980 isa = PBXContainerItemProxy; … … 2077 2088 name = "Copy Shims"; 2078 2089 runOnlyForDeploymentPostprocessing = 0; 2090 }; 2091 57A9FEFA252BD8AA006A2040 /* CopyFiles */ = { 2092 isa = PBXCopyFilesBuildPhase; 2093 buildActionMask = 2147483647; 2094 dstPath = /usr/share/man/man1/; 2095 dstSubfolderSpec = 0; 2096 files = ( 2097 ); 2098 runOnlyForDeploymentPostprocessing = 1; 2079 2099 }; 2080 2100 7CB16FEE1724BA05007A0A95 /* Copy Plug-in Sandbox Profiles */ = { … … 3913 3933 579F1BFA23C811CF00C7D4B4 /* APIWebAuthenticationAssertionResponse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = APIWebAuthenticationAssertionResponse.h; sourceTree = "<group>"; }; 3914 3934 579F1BFB23C811CF00C7D4B4 /* APIWebAuthenticationAssertionResponse.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = APIWebAuthenticationAssertionResponse.cpp; sourceTree = "<group>"; }; 3935 57A9FEFC252BD8AA006A2040 /* com.apple.WebKit.WebAuthenticationAgent.Development */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = com.apple.WebKit.WebAuthenticationAgent.Development; sourceTree = BUILT_PRODUCTS_DIR; }; 3936 57A9FF07252BE6E0006A2040 /* WebAuthenticationAgent.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = WebAuthenticationAgent.xcconfig; sourceTree = "<group>"; }; 3937 57A9FF08252BEAF0006A2040 /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = main.mm; path = Daemons/WebAuthenticationAgent/main.mm; sourceTree = SOURCE_ROOT; }; 3938 57A9FF0A252BF5C3006A2040 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 3939 57A9FF0D252C397A006A2040 /* com.apple.webkit.WebAuthenticationAgent.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = com.apple.webkit.WebAuthenticationAgent.plist; sourceTree = "<group>"; }; 3940 57A9FF0F252C5D9D006A2040 /* WebAuthenticationAgent.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = WebAuthenticationAgent.entitlements; sourceTree = "<group>"; }; 3941 57A9FF15252C6AEF006A2040 /* libWTF.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libWTF.a; sourceTree = BUILT_PRODUCTS_DIR; }; 3915 3942 57AC8F4E217FEED90055438C /* HidConnection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HidConnection.h; sourceTree = "<group>"; }; 3916 3943 57AC8F4F217FEED90055438C /* HidConnection.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = HidConnection.mm; sourceTree = "<group>"; }; … … 5439 5466 runOnlyForDeploymentPostprocessing = 0; 5440 5467 }; 5468 57A9FEF9252BD8AA006A2040 /* Frameworks */ = { 5469 isa = PBXFrameworksBuildPhase; 5470 buildActionMask = 2147483647; 5471 files = ( 5472 576BCD5E252FD22D00CE9F87 /* Foundation.framework in Frameworks */, 5473 57A9FF1D252C6CE6006A2040 /* libWTF.a in Frameworks */, 5474 ); 5475 runOnlyForDeploymentPostprocessing = 0; 5476 }; 5441 5477 8DC2EF560486A6940098B216 /* Frameworks */ = { 5442 5478 isa = PBXFrameworksBuildPhase; … … 5487 5523 BC8283B116B4BF7700A278FE /* com.apple.WebKit.Networking.xpc */, 5488 5524 BC82841F16B4FDF600A278FE /* com.apple.WebKit.Plugin.64.xpc */, 5525 57A9FEFC252BD8AA006A2040 /* com.apple.WebKit.WebAuthenticationAgent.Development */, 5489 5526 372EBB462017E64300085064 /* com.apple.WebKit.WebContent.Development.xpc */, 5490 5527 BC3DE46615A91763008D26FC /* com.apple.WebKit.WebContent.xpc */, … … 5631 5668 1A1D2117191D996C0001619F /* MigrateHeadersFromWebKitLegacy.make */, 5632 5669 1A1D2116191D995C0001619F /* postprocess-framework-headers.sh */, 5670 57A9FEEF252BB70C006A2040 /* Daemons */, 5633 5671 BC2E6E74114196F000A63B1E /* Platform */, 5634 5672 1AADDF4B10D82AF000D3D63D /* Shared */, … … 5839 5877 5183B3931379F85C00E8754E /* Shim.xcconfig */, 5840 5878 1A4F976E100E7B6600637A18 /* Version.xcconfig */, 5879 57A9FF07252BE6E0006A2040 /* WebAuthenticationAgent.xcconfig */, 5841 5880 372EBB4A2017E76000085064 /* WebContentService.Development.xcconfig */, 5842 5881 BCACC40E16B0B8A800B6E092 /* WebContentService.xcconfig */, … … 8080 8119 isa = PBXGroup; 8081 8120 children = ( 8121 57A9FF15252C6AEF006A2040 /* libWTF.a */, 8082 8122 5750F32A2032D4E500389347 /* LocalAuthentication.framework */, 8083 8123 570DAAB0230273D200E8FC04 /* NearField.framework */, … … 8135 8175 ); 8136 8176 path = WebAuthentication; 8177 sourceTree = "<group>"; 8178 }; 8179 57A9FEEF252BB70C006A2040 /* Daemons */ = { 8180 isa = PBXGroup; 8181 children = ( 8182 57A9FEF0252BB740006A2040 /* WebAuthenticationAgent */, 8183 ); 8184 path = Daemons; 8185 sourceTree = "<group>"; 8186 }; 8187 57A9FEF0252BB740006A2040 /* WebAuthenticationAgent */ = { 8188 isa = PBXGroup; 8189 children = ( 8190 57A9FF0D252C397A006A2040 /* com.apple.webkit.WebAuthenticationAgent.plist */, 8191 57A9FF0A252BF5C3006A2040 /* Info.plist */, 8192 57A9FF08252BEAF0006A2040 /* main.mm */, 8193 57A9FF0F252C5D9D006A2040 /* WebAuthenticationAgent.entitlements */, 8194 ); 8195 path = WebAuthenticationAgent; 8137 8196 sourceTree = "<group>"; 8138 8197 }; … … 11931 11990 productType = "com.apple.product-type.library.dynamic"; 11932 11991 }; 11992 57A9FEFB252BD8AA006A2040 /* WebAuthenticationAgent */ = { 11993 isa = PBXNativeTarget; 11994 buildConfigurationList = 57A9FF00252BD8AB006A2040 /* Build configuration list for PBXNativeTarget "WebAuthenticationAgent" */; 11995 buildPhases = ( 11996 57A9FEF8252BD8AA006A2040 /* Sources */, 11997 57A9FEF9252BD8AA006A2040 /* Frameworks */, 11998 57A9FEFA252BD8AA006A2040 /* CopyFiles */, 11999 ); 12000 buildRules = ( 12001 ); 12002 dependencies = ( 12003 ); 12004 name = WebAuthenticationAgent; 12005 productName = WebAuthenticationAgent; 12006 productReference = 57A9FEFC252BD8AA006A2040 /* com.apple.WebKit.WebAuthenticationAgent.Development */; 12007 productType = "com.apple.product-type.tool"; 12008 }; 11933 12009 8DC2EF4F0486A6940098B216 /* WebKit */ = { 11934 12010 isa = PBXNativeTarget; … … 12055 12131 ProvisioningStyle = Automatic; 12056 12132 }; 12133 57A9FEFB252BD8AA006A2040 = { 12134 CreatedOnToolsVersion = 12.0; 12135 }; 12057 12136 E1AC2E2720F7B94C00B0897D = { 12058 12137 CreatedOnToolsVersion = 9.3; … … 12088 12167 E1AC2E2720F7B94C00B0897D /* Unlock Keychain */, 12089 12168 5325BDCD21DFF47700A0DEE1 /* Apply Configuration to XCFileLists */, 12169 57A9FEFB252BD8AA006A2040 /* WebAuthenticationAgent */, 12090 12170 ); 12091 12171 }; … … 12694 12774 files = ( 12695 12775 511F8A81138B485D00A95F44 /* SecItemShimLibrary.mm in Sources */, 12776 ); 12777 runOnlyForDeploymentPostprocessing = 0; 12778 }; 12779 57A9FEF8252BD8AA006A2040 /* Sources */ = { 12780 isa = PBXSourcesBuildPhase; 12781 buildActionMask = 2147483647; 12782 files = ( 12783 57A9FF09252BEAF0006A2040 /* main.mm in Sources */, 12696 12784 ); 12697 12785 runOnlyForDeploymentPostprocessing = 0; … … 13196 13284 targetProxy = 37F7407812721F740093869B /* PBXContainerItemProxy */; 13197 13285 }; 13286 57A9FF0C252C31D6006A2040 /* PBXTargetDependency */ = { 13287 isa = PBXTargetDependency; 13288 target = 57A9FEFB252BD8AA006A2040 /* WebAuthenticationAgent */; 13289 targetProxy = 57A9FF0B252C31D6006A2040 /* PBXContainerItemProxy */; 13290 }; 13198 13291 BC8283D516B4C01F00A278FE /* PBXTargetDependency */ = { 13199 13292 isa = PBXTargetDependency; … … 13452 13545 name = Production; 13453 13546 }; 13547 57A9FF01252BD8AB006A2040 /* Debug */ = { 13548 isa = XCBuildConfiguration; 13549 baseConfigurationReference = 57A9FF07252BE6E0006A2040 /* WebAuthenticationAgent.xcconfig */; 13550 buildSettings = { 13551 }; 13552 name = Debug; 13553 }; 13554 57A9FF02252BD8AB006A2040 /* Release */ = { 13555 isa = XCBuildConfiguration; 13556 baseConfigurationReference = 57A9FF07252BE6E0006A2040 /* WebAuthenticationAgent.xcconfig */; 13557 buildSettings = { 13558 }; 13559 name = Release; 13560 }; 13561 57A9FF03252BD8AB006A2040 /* Production */ = { 13562 isa = XCBuildConfiguration; 13563 baseConfigurationReference = 57A9FF07252BE6E0006A2040 /* WebAuthenticationAgent.xcconfig */; 13564 buildSettings = { 13565 }; 13566 name = Production; 13567 }; 13454 13568 5D22D69B11A7534600BF30E5 /* Production */ = { 13455 13569 isa = XCBuildConfiguration; … … 13708 13822 defaultConfigurationName = Production; 13709 13823 }; 13824 57A9FF00252BD8AB006A2040 /* Build configuration list for PBXNativeTarget "WebAuthenticationAgent" */ = { 13825 isa = XCConfigurationList; 13826 buildConfigurations = ( 13827 57A9FF01252BD8AB006A2040 /* Debug */, 13828 57A9FF02252BD8AB006A2040 /* Release */, 13829 57A9FF03252BD8AB006A2040 /* Production */, 13830 ); 13831 defaultConfigurationIsVisible = 0; 13832 defaultConfigurationName = Production; 13833 }; 13710 13834 A7AADA1419395CA9003EA1C7 /* Build configuration list for PBXAggregateTarget "Sandbox Profiles" */ = { 13711 13835 isa = XCConfigurationList;
Note: See TracChangeset
for help on using the changeset viewer.