Changeset 269554 in webkit


Ignore:
Timestamp:
Nov 6, 2020 5:38:35 PM (3 years ago)
Author:
jiewen_tan@apple.com
Message:

[WebAuthn] [iOS] WebAuthn process doesn't start on iOS devices
https://bugs.webkit.org/show_bug.cgi?id=218479
<rdar://problem/70560399>

Reviewed by Brent Fulgham.

One of the reasons is missing the iOS sandbox profile. Therefore, this patch adds one.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb: Added.

Copied from the GPU process. Will strip it down once the process is fully functional.

  • Scripts/process-entitlements.sh:

Adds some missing entitlements.

  • UIProcess/WebAuthentication/WebAuthnProcessProxy.h:

Deals with CompletionHandler assertion.

  • WebKit.xcodeproj/project.pbxproj:

Adds some plumbings for the sandbox profile.

Location:
trunk/Source/WebKit
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r269551 r269554  
     12020-11-06  Jiewen Tan  <jiewen_tan@apple.com>
     2
     3        [WebAuthn] [iOS] WebAuthn process doesn't start on iOS devices
     4        https://bugs.webkit.org/show_bug.cgi?id=218479
     5        <rdar://problem/70560399>
     6
     7        Reviewed by Brent Fulgham.
     8
     9        One of the reasons is missing the iOS sandbox profile. Therefore, this patch adds one.
     10
     11        * Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb: Added.
     12        Copied from the GPU process. Will strip it down once the process is fully functional.
     13
     14        * Scripts/process-entitlements.sh:
     15        Adds some missing entitlements.
     16
     17        * UIProcess/WebAuthentication/WebAuthnProcessProxy.h:
     18        Deals with CompletionHandler assertion.
     19
     20        * WebKit.xcodeproj/project.pbxproj:
     21        Adds some plumbings for the sandbox profile.
     22
    1232020-11-06  Wenson Hsieh  <wenson_hsieh@apple.com>
    224
  • trunk/Source/WebKit/Scripts/process-entitlements.sh

    r269307 r269554  
    222222function ios_family_process_webauthn_entitlements()
    223223{
     224    plistbuddy Add :com.apple.private.memorystatus bool YES
     225    plistbuddy Add :com.apple.runningboard.assertions.webkit bool YES
     226
    224227    plistbuddy Add :com.apple.security.device.usb bool YES
    225228
     
    229232    plistbuddy Add :com.apple.security.application-groups array
    230233    plistbuddy Add :com.apple.security.application-groups:0 string group.com.apple.webkit
    231 
    232     plistbuddy Add :com.apple.security.exception.mach-lookup.global-name array
    233     plistbuddy Add :com.apple.security.exception.mach-lookup.global-name:0 string com.apple.nfcd.hwmanager
    234234
    235235    plistbuddy Add :com.apple.nfcd.hwmanager bool YES
     
    251251    plistbuddy Add :com.apple.appattest.spi bool YES
    252252    plistbuddy Add :com.apple.mobileactivationd.spi bool YES
     253
     254    plistbuddy Add :seatbelt-profiles array
     255    plistbuddy Add :seatbelt-profiles:0 string com.apple.WebKit.WebAuthn
    253256}
    254257
  • trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthnProcessProxy.h

    r268605 r269554  
    7272
    7373    // ProcessThrottlerClient
    74     void sendPrepareToSuspend(IsSuspensionImminent, CompletionHandler<void()>&&) final { }
     74    void sendPrepareToSuspend(IsSuspensionImminent, CompletionHandler<void()>&& completionHandler) final { completionHandler(); }
    7575
    7676    // ProcessLauncher::Client
  • trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj

    r269533 r269554  
    11591159                57EB2E3A21E1983E00B89CDF /* U2fAuthenticator.h in Headers */ = {isa = PBXBuildFile; fileRef = 57EB2E3821E1983E00B89CDF /* U2fAuthenticator.h */; };
    11601160                57EBE26A234676C5008D8AF9 /* APIWebAuthenticationPanel.h in Headers */ = {isa = PBXBuildFile; fileRef = 57EBE268234676C5008D8AF9 /* APIWebAuthenticationPanel.h */; };
     1161                57EFC77E2550EB8600F9477D /* com.apple.WebKit.WebAuthn.sb in CopyFiles */ = {isa = PBXBuildFile; fileRef = 57EFC77D2550EB8500F9477D /* com.apple.WebKit.WebAuthn.sb */; };
    11611162                57FD318022B35158008D0E8B /* NavigationSOAuthorizationSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 57FD317822B35149008D0E8B /* NavigationSOAuthorizationSession.h */; };
    11621163                57FD318122B3515B008D0E8B /* PopUpSOAuthorizationSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 57FD317022B35148008D0E8B /* PopUpSOAuthorizationSession.h */; };
     
    21712172                                2DB96053239886C100102791 /* com.apple.WebKit.GPU.sb in CopyFiles */,
    21722173                                A78CCDDB193AC9F8005ECC25 /* com.apple.WebKit.Networking.sb in CopyFiles */,
     2174                                57EFC77E2550EB8600F9477D /* com.apple.WebKit.WebAuthn.sb in CopyFiles */,
    21732175                                A78CCDDC193AC9FB005ECC25 /* com.apple.WebKit.WebContent.sb in CopyFiles */,
    21742176                        );
     
    40454047                57EBE268234676C5008D8AF9 /* APIWebAuthenticationPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = APIWebAuthenticationPanel.h; sourceTree = "<group>"; };
    40464048                57EBE269234676C5008D8AF9 /* APIWebAuthenticationPanel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = APIWebAuthenticationPanel.cpp; sourceTree = "<group>"; };
     4049                57EFC77D2550EB8500F9477D /* com.apple.WebKit.WebAuthn.sb */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = com.apple.WebKit.WebAuthn.sb; sourceTree = "<group>"; };
    40474050                57FD317022B35148008D0E8B /* PopUpSOAuthorizationSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PopUpSOAuthorizationSession.h; sourceTree = "<group>"; };
    40484051                57FD317122B35148008D0E8B /* WKSOAuthorizationDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKSOAuthorizationDelegate.h; sourceTree = "<group>"; };
     
    89328935                                2DB96052239886B900102791 /* com.apple.WebKit.GPU.sb */,
    89338936                                A78CCDD8193AC9E3005ECC25 /* com.apple.WebKit.Networking.sb */,
     8937                                57EFC77D2550EB8500F9477D /* com.apple.WebKit.WebAuthn.sb */,
    89348938                                A78CCDD9193AC9E3005ECC25 /* com.apple.WebKit.WebContent.sb */,
    89358939                        );
     
    1264012644                                "$(SRCROOT)/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb",
    1264112645                                "$(SRCROOT)/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb",
     12646                                "$(SRCROOT)/Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb",
    1264212647                        );
    1264312648                        name = "Copy iOS Sandbox Profiles for Manual Sandboxing";
Note: See TracChangeset for help on using the changeset viewer.