Changeset 248631 in webkit
- Timestamp:
- Aug 13, 2019 1:43:00 PM (5 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 6 edited
- 1 copied
- 4 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r248598 r248631 1 2019-08-12 Jiewen Tan <jiewen_tan@apple.com> 2 3 [WebAuthn] Make CtapHidAuthenticator/U2fHidAuthenticator to CtapAuthenticator/U2fAuthenticator 4 https://bugs.webkit.org/show_bug.cgi?id=191527 5 <rdar://problem/54237146> 6 7 Reviewed by Chris Dumez. 8 9 This patch makes an ABC CtapDriver, which services as an abstract interface for CtapAuthenticator/U2fAuthenticator to talk to 10 the actual object that implement the specific CTAP protocol that mananges communications over different transports, for example, 11 CtapHidDriver, such that CtapAuthenticator/U2fAuthenticator can be shared across different transports. 12 13 This patch also renames CtapHidAuthenticator/U2fHidAuthenticator to CtapAuthenticator/U2fAuthenticator correspondingly. 14 15 * Sources.txt: 16 * UIProcess/WebAuthentication/Cocoa/HidService.mm: 17 (WebKit::HidService::continueAddDeviceAfterGetInfo): 18 * UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp: Renamed from Source/WebKit/UIProcess/WebAuthentication/fido/CtapHidAuthenticator.cpp. 19 (WebKit::CtapAuthenticator::CtapAuthenticator): 20 (WebKit::CtapAuthenticator::makeCredential): 21 (WebKit::CtapAuthenticator::continueMakeCredentialAfterResponseReceived const): 22 (WebKit::CtapAuthenticator::getAssertion): 23 (WebKit::CtapAuthenticator::continueGetAssertionAfterResponseReceived): 24 (WebKit::CtapAuthenticator::tryDowngrade): 25 * UIProcess/WebAuthentication/fido/CtapAuthenticator.h: Copied from Source/WebKit/UIProcess/WebAuthentication/fido/CtapHidAuthenticator.h. 26 * UIProcess/WebAuthentication/fido/CtapDriver.h: Renamed from Source/WebKit/UIProcess/WebAuthentication/fido/CtapHidAuthenticator.h. 27 * UIProcess/WebAuthentication/fido/CtapHidDriver.h: 28 (WebKit::CtapHidDriver::setProtocol): 29 * UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp: Renamed from Source/WebKit/UIProcess/WebAuthentication/fido/U2fHidAuthenticator.cpp. 30 (WebKit::U2fAuthenticator::U2fAuthenticator): 31 (WebKit::U2fAuthenticator::makeCredential): 32 (WebKit::U2fAuthenticator::checkExcludeList): 33 (WebKit::U2fAuthenticator::issueRegisterCommand): 34 (WebKit::U2fAuthenticator::getAssertion): 35 (WebKit::U2fAuthenticator::issueSignCommand): 36 (WebKit::U2fAuthenticator::issueNewCommand): 37 (WebKit::U2fAuthenticator::issueCommand): 38 (WebKit::U2fAuthenticator::responseReceived): 39 (WebKit::U2fAuthenticator::continueRegisterCommandAfterResponseReceived): 40 (WebKit::U2fAuthenticator::continueCheckOnlyCommandAfterResponseReceived): 41 (WebKit::U2fAuthenticator::continueBogusCommandAfterResponseReceived): 42 (WebKit::U2fAuthenticator::continueSignCommandAfterResponseReceived): 43 * UIProcess/WebAuthentication/fido/U2fAuthenticator.h: Renamed from Source/WebKit/UIProcess/WebAuthentication/fido/U2fHidAuthenticator.h. 44 * WebKit.xcodeproj/project.pbxproj: 45 1 46 2019-08-13 Chris Dumez <cdumez@apple.com> 2 47 -
trunk/Source/WebKit/Sources.txt
r248593 r248631 406 406 UIProcess/UserContent/WebUserContentControllerProxy.cpp 407 407 408 UIProcess/WebAuthentication/fido/Ctap HidAuthenticator.cpp408 UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp 409 409 UIProcess/WebAuthentication/fido/CtapHidDriver.cpp 410 UIProcess/WebAuthentication/fido/U2f HidAuthenticator.cpp410 UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp 411 411 412 412 UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.cpp -
trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.mm
r239852 r248631 29 29 #if ENABLE(WEB_AUTHN) && PLATFORM(MAC) 30 30 31 #import "Ctap HidAuthenticator.h"31 #import "CtapAuthenticator.h" 32 32 #import "CtapHidDriver.h" 33 33 #import "HidConnection.h" 34 #import "U2f HidAuthenticator.h"34 #import "U2fAuthenticator.h" 35 35 #import <WebCore/DeviceRequestConverter.h> 36 36 #import <WebCore/DeviceResponseConverter.h> … … 113 113 auto info = readCTAPGetInfoResponse(response); 114 114 if (info && info->versions().find(ProtocolVersion::kCtap) != info->versions().end()) { 115 observer()->authenticatorAdded(Ctap HidAuthenticator::create(WTFMove(driver), WTFMove(*info)));115 observer()->authenticatorAdded(CtapAuthenticator::create(WTFMove(driver), WTFMove(*info))); 116 116 return; 117 117 } 118 118 LOG_ERROR("Couldn't parse a ctap get info response."); 119 119 driver->setProtocol(ProtocolVersion::kU2f); 120 observer()->authenticatorAdded(U2f HidAuthenticator::create(WTFMove(driver)));120 observer()->authenticatorAdded(U2fAuthenticator::create(WTFMove(driver))); 121 121 } 122 122 -
trunk/Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp
r248630 r248631 25 25 26 26 #include "config.h" 27 #include "Ctap HidAuthenticator.h"27 #include "CtapAuthenticator.h" 28 28 29 29 #if ENABLE(WEB_AUTHN) && PLATFORM(MAC) 30 30 31 #include "CtapDriver.h" 31 32 #include "CtapHidDriver.h" 32 #include "U2f HidAuthenticator.h"33 #include "U2fAuthenticator.h" 33 34 #include <WebCore/DeviceRequestConverter.h> 34 35 #include <WebCore/DeviceResponseConverter.h> … … 41 42 using namespace fido; 42 43 43 Ctap HidAuthenticator::CtapHidAuthenticator(std::unique_ptr<CtapHidDriver>&& driver, AuthenticatorGetInfoResponse&& info)44 CtapAuthenticator::CtapAuthenticator(std::unique_ptr<CtapDriver>&& driver, AuthenticatorGetInfoResponse&& info) 44 45 : m_driver(WTFMove(driver)) 45 46 , m_info(WTFMove(info)) … … 49 50 } 50 51 51 void Ctap HidAuthenticator::makeCredential()52 void CtapAuthenticator::makeCredential() 52 53 { 53 54 ASSERT(!m_isDowngraded); … … 61 62 } 62 63 63 void Ctap HidAuthenticator::continueMakeCredentialAfterResponseReceived(Vector<uint8_t>&& data) const64 void CtapAuthenticator::continueMakeCredentialAfterResponseReceived(Vector<uint8_t>&& data) const 64 65 { 65 66 auto response = readCTAPMakeCredentialResponse(data, requestData().creationOptions.attestation); … … 75 76 } 76 77 77 void Ctap HidAuthenticator::getAssertion()78 void CtapAuthenticator::getAssertion() 78 79 { 79 80 ASSERT(!m_isDowngraded); … … 87 88 } 88 89 89 void Ctap HidAuthenticator::continueGetAssertionAfterResponseReceived(Vector<uint8_t>&& data)90 void CtapAuthenticator::continueGetAssertionAfterResponseReceived(Vector<uint8_t>&& data) 90 91 { 91 92 auto response = readCTAPGetAssertionResponse(data); … … 100 101 } 101 102 102 bool Ctap HidAuthenticator::tryDowngrade()103 bool CtapAuthenticator::tryDowngrade() 103 104 { 104 105 if (m_info.versions().find(ProtocolVersion::kU2f) == m_info.versions().end()) … … 109 110 m_isDowngraded = true; 110 111 m_driver->setProtocol(ProtocolVersion::kU2f); 111 observer()->downgrade(this, U2f HidAuthenticator::create(WTFMove(m_driver)));112 observer()->downgrade(this, U2fAuthenticator::create(WTFMove(m_driver))); 112 113 return true; 113 114 } -
trunk/Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.h
r248630 r248631 33 33 namespace WebKit { 34 34 35 class Ctap HidDriver;35 class CtapDriver; 36 36 37 class Ctap HidAuthenticator final : public Authenticator {37 class CtapAuthenticator final : public Authenticator { 38 38 public: 39 static Ref<Ctap HidAuthenticator> create(std::unique_ptr<CtapHidDriver>&& driver, fido::AuthenticatorGetInfoResponse&& info)39 static Ref<CtapAuthenticator> create(std::unique_ptr<CtapDriver>&& driver, fido::AuthenticatorGetInfoResponse&& info) 40 40 { 41 return adoptRef(*new Ctap HidAuthenticator(WTFMove(driver), WTFMove(info)));41 return adoptRef(*new CtapAuthenticator(WTFMove(driver), WTFMove(info))); 42 42 } 43 43 44 44 private: 45 explicit Ctap HidAuthenticator(std::unique_ptr<CtapHidDriver>&&, fido::AuthenticatorGetInfoResponse&&);45 explicit CtapAuthenticator(std::unique_ptr<CtapDriver>&&, fido::AuthenticatorGetInfoResponse&&); 46 46 47 47 void makeCredential() final; … … 52 52 bool tryDowngrade(); 53 53 54 std::unique_ptr<Ctap HidDriver> m_driver;54 std::unique_ptr<CtapDriver> m_driver; 55 55 fido::AuthenticatorGetInfoResponse m_info; 56 56 bool m_isDowngraded { false }; -
trunk/Source/WebKit/UIProcess/WebAuthentication/fido/CtapDriver.h
r248630 r248631 1 1 /* 2 * Copyright (C) 201 8Apple Inc. All rights reserved.2 * Copyright (C) 2019 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 26 26 #pragma once 27 27 28 #if ENABLE(WEB_AUTHN) && PLATFORM(MAC)28 #if ENABLE(WEB_AUTHN) 29 29 30 #include "Authenticator.h" 31 #include <WebCore/AuthenticatorGetInfoResponse.h> 30 #include <WebCore/FidoConstants.h> 31 #include <wtf/Forward.h> 32 #include <wtf/Function.h> 33 #include <wtf/Noncopyable.h> 34 #include <wtf/WeakPtr.h> 32 35 33 36 namespace WebKit { 34 37 35 class CtapHidDriver; 38 class CtapDriver : public CanMakeWeakPtr<CtapDriver> { 39 WTF_MAKE_FAST_ALLOCATED; 40 WTF_MAKE_NONCOPYABLE(CtapDriver); 41 public: 42 using ResponseCallback = Function<void(Vector<uint8_t>&&)>; 36 43 37 class CtapHidAuthenticator final : public Authenticator { 38 public: 39 static Ref<CtapHidAuthenticator> create(std::unique_ptr<CtapHidDriver>&& driver, fido::AuthenticatorGetInfoResponse&& info) 40 { 41 return adoptRef(*new CtapHidAuthenticator(WTFMove(driver), WTFMove(info))); 42 } 44 CtapDriver() = default; 45 virtual ~CtapDriver() = default; 46 47 void setProtocol(fido::ProtocolVersion protocol) { m_protocol = protocol; } 48 49 virtual void transact(Vector<uint8_t>&& data, ResponseCallback&&) = 0; 50 51 protected: 52 fido::ProtocolVersion protocol() const { return m_protocol; } 43 53 44 54 private: 45 explicit CtapHidAuthenticator(std::unique_ptr<CtapHidDriver>&&, fido::AuthenticatorGetInfoResponse&&); 46 47 void makeCredential() final; 48 void continueMakeCredentialAfterResponseReceived(Vector<uint8_t>&&) const; 49 void getAssertion() final; 50 void continueGetAssertionAfterResponseReceived(Vector<uint8_t>&&); 51 52 bool tryDowngrade(); 53 54 std::unique_ptr<CtapHidDriver> m_driver; 55 fido::AuthenticatorGetInfoResponse m_info; 56 bool m_isDowngraded { false }; 55 fido::ProtocolVersion m_protocol { fido::ProtocolVersion::kCtap }; 57 56 }; 58 57 59 58 } // namespace WebKit 60 59 61 #endif // ENABLE(WEB_AUTHN) && PLATFORM(MAC)60 #endif // ENABLE(WEB_AUTHN) -
trunk/Source/WebKit/UIProcess/WebAuthentication/fido/CtapHidDriver.cpp
r239852 r248631 195 195 m_channelId |= static_cast<uint32_t>(payload[index]); 196 196 // FIXME(191534): Check the reset of the payload. 197 auto cmd = FidoHidMessage::create(m_channelId, m_protocol== ProtocolVersion::kCtap ? FidoHidDeviceCommand::kCbor : FidoHidDeviceCommand::kMsg, m_requestData);197 auto cmd = FidoHidMessage::create(m_channelId, protocol() == ProtocolVersion::kCtap ? FidoHidDeviceCommand::kCbor : FidoHidDeviceCommand::kMsg, m_requestData); 198 198 ASSERT(cmd); 199 199 m_worker->transact(WTFMove(*cmd), [weakThis = makeWeakPtr(*this)](Optional<FidoHidMessage>&& response) mutable { -
trunk/Source/WebKit/UIProcess/WebAuthentication/fido/CtapHidDriver.h
r239752 r248631 28 28 #if ENABLE(WEB_AUTHN) && PLATFORM(MAC) 29 29 30 #include "CtapDriver.h" 30 31 #include "HidConnection.h" 31 #include <WebCore/FidoConstants.h>32 32 #include <WebCore/FidoHidMessage.h> 33 #include <wtf/CompletionHandler.h>34 #include <wtf/Forward.h>35 #include <wtf/Noncopyable.h>36 33 #include <wtf/UniqueRef.h> 37 #include <wtf/WeakPtr.h>38 34 39 35 namespace WebKit { … … 42 38 // https://fidoalliance.org/specs/fido-v2.0-ps-20170927/fido-client-to-authenticator-protocol-v2.0-ps-20170927.html#usb 43 39 // FSM: Idle => AllocateChannel => Ready 44 class CtapHidDriver : public CanMakeWeakPtr<CtapHidDriver> { 45 WTF_MAKE_FAST_ALLOCATED; 46 WTF_MAKE_NONCOPYABLE(CtapHidDriver); 40 class CtapHidDriver : public CtapDriver { 47 41 public: 48 using ResponseCallback = Function<void(Vector<uint8_t>&&)>;49 50 42 enum class State : uint8_t { 51 43 Idle, … … 58 50 explicit CtapHidDriver(UniqueRef<HidConnection>&&); 59 51 60 void setProtocol(fido::ProtocolVersion protocol) { m_protocol = protocol; } 61 void transact(Vector<uint8_t>&& data, ResponseCallback&&); 52 void transact(Vector<uint8_t>&& data, ResponseCallback&&) final; 62 53 63 54 private: … … 105 96 ResponseCallback m_responseCallback; 106 97 Vector<uint8_t> m_nonce; 107 fido::ProtocolVersion m_protocol { fido::ProtocolVersion::kCtap };108 98 }; 109 99 -
trunk/Source/WebKit/UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp
r248630 r248631 25 25 26 26 #include "config.h" 27 #include "U2f HidAuthenticator.h"27 #include "U2fAuthenticator.h" 28 28 29 29 #if ENABLE(WEB_AUTHN) && PLATFORM(MAC) 30 30 31 #include "Ctap HidDriver.h"31 #include "CtapDriver.h" 32 32 #include <WebCore/ApduResponse.h> 33 33 #include <WebCore/ExceptionData.h> … … 46 46 } 47 47 48 U2f HidAuthenticator::U2fHidAuthenticator(std::unique_ptr<CtapHidDriver>&& driver)48 U2fAuthenticator::U2fAuthenticator(std::unique_ptr<CtapDriver>&& driver) 49 49 : m_driver(WTFMove(driver)) 50 , m_retryTimer(RunLoop::main(), this, &U2f HidAuthenticator::retryLastCommand)50 , m_retryTimer(RunLoop::main(), this, &U2fAuthenticator::retryLastCommand) 51 51 { 52 52 // FIXME(191520): We need a way to convert std::unique_ptr to UniqueRef. … … 54 54 } 55 55 56 void U2f HidAuthenticator::makeCredential()56 void U2fAuthenticator::makeCredential() 57 57 { 58 58 if (!isConvertibleToU2fRegisterCommand(requestData().creationOptions)) { … … 68 68 } 69 69 70 void U2f HidAuthenticator::checkExcludeList(size_t index)70 void U2fAuthenticator::checkExcludeList(size_t index) 71 71 { 72 72 if (index >= requestData().creationOptions.excludeCredentials.size()) { … … 79 79 } 80 80 81 void U2f HidAuthenticator::issueRegisterCommand()81 void U2fAuthenticator::issueRegisterCommand() 82 82 { 83 83 auto u2fCmd = convertToU2fRegisterCommand(requestData().hash, requestData().creationOptions); … … 86 86 } 87 87 88 void U2f HidAuthenticator::getAssertion()88 void U2fAuthenticator::getAssertion() 89 89 { 90 90 if (!isConvertibleToU2fSignCommand(requestData().requestOptions)) { … … 96 96 } 97 97 98 void U2f HidAuthenticator::issueSignCommand(size_t index)98 void U2fAuthenticator::issueSignCommand(size_t index) 99 99 { 100 100 if (index >= requestData().requestOptions.allowCredentials.size()) { … … 107 107 } 108 108 109 void U2f HidAuthenticator::issueNewCommand(Vector<uint8_t>&& command, CommandType type)109 void U2fAuthenticator::issueNewCommand(Vector<uint8_t>&& command, CommandType type) 110 110 { 111 111 m_lastCommand = WTFMove(command); … … 114 114 } 115 115 116 void U2f HidAuthenticator::issueCommand(const Vector<uint8_t>& command, CommandType type)116 void U2fAuthenticator::issueCommand(const Vector<uint8_t>& command, CommandType type) 117 117 { 118 118 m_driver->transact(Vector<uint8_t>(command), [weakThis = makeWeakPtr(*this), type](Vector<uint8_t>&& data) { … … 124 124 } 125 125 126 void U2f HidAuthenticator::responseReceived(Vector<uint8_t>&& response, CommandType type)126 void U2fAuthenticator::responseReceived(Vector<uint8_t>&& response, CommandType type) 127 127 { 128 128 auto apduResponse = ApduResponse::createFromMessage(response); … … 149 149 } 150 150 151 void U2f HidAuthenticator::continueRegisterCommandAfterResponseReceived(ApduResponse&& apduResponse)151 void U2fAuthenticator::continueRegisterCommandAfterResponseReceived(ApduResponse&& apduResponse) 152 152 { 153 153 switch (apduResponse.status()) { … … 170 170 } 171 171 172 void U2f HidAuthenticator::continueCheckOnlyCommandAfterResponseReceived(ApduResponse&& apduResponse)172 void U2fAuthenticator::continueCheckOnlyCommandAfterResponseReceived(ApduResponse&& apduResponse) 173 173 { 174 174 switch (apduResponse.status()) { … … 182 182 } 183 183 184 void U2f HidAuthenticator::continueBogusCommandAfterResponseReceived(ApduResponse&& apduResponse)184 void U2fAuthenticator::continueBogusCommandAfterResponseReceived(ApduResponse&& apduResponse) 185 185 { 186 186 switch (apduResponse.status()) { … … 197 197 } 198 198 199 void U2f HidAuthenticator::continueSignCommandAfterResponseReceived(ApduResponse&& apduResponse)199 void U2fAuthenticator::continueSignCommandAfterResponseReceived(ApduResponse&& apduResponse) 200 200 { 201 201 switch (apduResponse.status()) { -
trunk/Source/WebKit/UIProcess/WebAuthentication/fido/U2fAuthenticator.h
r248630 r248631 37 37 namespace WebKit { 38 38 39 class Ctap HidDriver;39 class CtapDriver; 40 40 41 class U2f HidAuthenticator final : public Authenticator {41 class U2fAuthenticator final : public Authenticator { 42 42 public: 43 static Ref<U2f HidAuthenticator> create(std::unique_ptr<CtapHidDriver>&& driver)43 static Ref<U2fAuthenticator> create(std::unique_ptr<CtapDriver>&& driver) 44 44 { 45 return adoptRef(*new U2f HidAuthenticator(WTFMove(driver)));45 return adoptRef(*new U2fAuthenticator(WTFMove(driver))); 46 46 } 47 47 48 48 private: 49 explicit U2f HidAuthenticator(std::unique_ptr<CtapHidDriver>&&);49 explicit U2fAuthenticator(std::unique_ptr<CtapDriver>&&); 50 50 51 51 void makeCredential() final; … … 70 70 void continueSignCommandAfterResponseReceived(apdu::ApduResponse&&); 71 71 72 std::unique_ptr<Ctap HidDriver> m_driver;73 RunLoop::Timer<U2f HidAuthenticator> m_retryTimer;72 std::unique_ptr<CtapDriver> m_driver; 73 RunLoop::Timer<U2fAuthenticator> m_retryTimer; 74 74 Vector<uint8_t> m_lastCommand; 75 75 CommandType m_lastCommandType; -
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj
r248593 r248631 1039 1039 572FD44322265CE200A1ECC3 /* WebViewDidMoveToWindowObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 572FD44122265CE200A1ECC3 /* WebViewDidMoveToWindowObserver.h */; }; 1040 1040 57597EB921811D9A0037F924 /* CtapHidDriver.h in Headers */ = {isa = PBXBuildFile; fileRef = 57597EB721811D9A0037F924 /* CtapHidDriver.h */; }; 1041 57597EBD218184900037F924 /* Ctap HidAuthenticator.h in Headers */ = {isa = PBXBuildFile; fileRef = 57597EBB2181848F0037F924 /* CtapHidAuthenticator.h */; };1041 57597EBD218184900037F924 /* CtapAuthenticator.h in Headers */ = {isa = PBXBuildFile; fileRef = 57597EBB2181848F0037F924 /* CtapAuthenticator.h */; }; 1042 1042 576CA9D722B862180030143C /* SOAuthorizationNSURLExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 57FD317322B35148008D0E8B /* SOAuthorizationNSURLExtras.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1043 1043 5772F206217DBD6A0056BF2C /* HidService.h in Headers */ = {isa = PBXBuildFile; fileRef = 5772F204217DBD6A0056BF2C /* HidService.h */; }; … … 1063 1063 57DCEDC7214F18300016B847 /* MockLocalConnection.h in Headers */ = {isa = PBXBuildFile; fileRef = 57DCEDC5214F18300016B847 /* MockLocalConnection.h */; }; 1064 1064 57DCEDCB214F4E420016B847 /* MockAuthenticatorManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 57DCEDC9214F4E420016B847 /* MockAuthenticatorManager.h */; }; 1065 57EB2E3A21E1983E00B89CDF /* U2f HidAuthenticator.h in Headers */ = {isa = PBXBuildFile; fileRef = 57EB2E3821E1983E00B89CDF /* U2fHidAuthenticator.h */; };1065 57EB2E3A21E1983E00B89CDF /* U2fAuthenticator.h in Headers */ = {isa = PBXBuildFile; fileRef = 57EB2E3821E1983E00B89CDF /* U2fAuthenticator.h */; }; 1066 1066 57FD318022B35158008D0E8B /* NavigationSOAuthorizationSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 57FD317822B35149008D0E8B /* NavigationSOAuthorizationSession.h */; }; 1067 1067 57FD318122B3515B008D0E8B /* PopUpSOAuthorizationSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 57FD317022B35148008D0E8B /* PopUpSOAuthorizationSession.h */; }; … … 3468 3468 570AB90020B2517400B8BE87 /* AuthenticationChallengeProxyCocoa.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = AuthenticationChallengeProxyCocoa.mm; sourceTree = "<group>"; }; 3469 3469 570AB90320B2541C00B8BE87 /* SecKeyProxyStore.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SecKeyProxyStore.mm; sourceTree = "<group>"; }; 3470 570B73CF230236DD00FAEC53 /* CtapDriver.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CtapDriver.h; sourceTree = "<group>"; }; 3470 3471 572FD44122265CE200A1ECC3 /* WebViewDidMoveToWindowObserver.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebViewDidMoveToWindowObserver.h; sourceTree = "<group>"; }; 3471 3472 575075A720AB763600693EA9 /* WebCredentialMac.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = WebCredentialMac.mm; sourceTree = "<group>"; }; … … 3476 3477 5756DD77218D14A200D4EE6A /* MockHidConnection.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = MockHidConnection.cpp; sourceTree = "<group>"; }; 3477 3478 57597EB721811D9A0037F924 /* CtapHidDriver.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CtapHidDriver.h; sourceTree = "<group>"; }; 3478 57597EBB2181848F0037F924 /* Ctap HidAuthenticator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CtapHidAuthenticator.h; sourceTree = "<group>"; };3479 57597EBC2181848F0037F924 /* Ctap HidAuthenticator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CtapHidAuthenticator.cpp; sourceTree = "<group>"; };3479 57597EBB2181848F0037F924 /* CtapAuthenticator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CtapAuthenticator.h; sourceTree = "<group>"; }; 3480 57597EBC2181848F0037F924 /* CtapAuthenticator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CtapAuthenticator.cpp; sourceTree = "<group>"; }; 3480 3481 57597EC021818BE20037F924 /* CtapHidDriver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CtapHidDriver.cpp; sourceTree = "<group>"; }; 3481 3482 5760828B2029854200116678 /* WebAuthenticatorCoordinator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebAuthenticatorCoordinator.h; sourceTree = "<group>"; }; … … 3518 3519 57DCEDC9214F4E420016B847 /* MockAuthenticatorManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MockAuthenticatorManager.h; sourceTree = "<group>"; }; 3519 3520 57DCEDCD214F51680016B847 /* MockAuthenticatorManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MockAuthenticatorManager.cpp; sourceTree = "<group>"; }; 3520 57EB2E3821E1983E00B89CDF /* U2f HidAuthenticator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = U2fHidAuthenticator.h; sourceTree = "<group>"; };3521 57EB2E3921E1983E00B89CDF /* U2f HidAuthenticator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = U2fHidAuthenticator.cpp; sourceTree = "<group>"; };3521 57EB2E3821E1983E00B89CDF /* U2fAuthenticator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = U2fAuthenticator.h; sourceTree = "<group>"; }; 3522 57EB2E3921E1983E00B89CDF /* U2fAuthenticator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = U2fAuthenticator.cpp; sourceTree = "<group>"; }; 3522 3523 57FD317022B35148008D0E8B /* PopUpSOAuthorizationSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PopUpSOAuthorizationSession.h; sourceTree = "<group>"; }; 3523 3524 57FD317122B35148008D0E8B /* WKSOAuthorizationDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKSOAuthorizationDelegate.h; sourceTree = "<group>"; }; … … 6955 6956 isa = PBXGroup; 6956 6957 children = ( 6957 57597EBC2181848F0037F924 /* CtapHidAuthenticator.cpp */, 6958 57597EBB2181848F0037F924 /* CtapHidAuthenticator.h */, 6958 57597EBC2181848F0037F924 /* CtapAuthenticator.cpp */, 6959 57597EBB2181848F0037F924 /* CtapAuthenticator.h */, 6960 570B73CF230236DD00FAEC53 /* CtapDriver.h */, 6959 6961 57597EC021818BE20037F924 /* CtapHidDriver.cpp */, 6960 6962 57597EB721811D9A0037F924 /* CtapHidDriver.h */, 6961 57EB2E3921E1983E00B89CDF /* U2f HidAuthenticator.cpp */,6962 57EB2E3821E1983E00B89CDF /* U2f HidAuthenticator.h */,6963 57EB2E3921E1983E00B89CDF /* U2fAuthenticator.cpp */, 6964 57EB2E3821E1983E00B89CDF /* U2fAuthenticator.h */, 6963 6965 ); 6964 6966 path = fido; … … 9338 9340 B878B615133428DC006888E9 /* CorrectionPanel.h in Headers */, 9339 9341 A1FB68271F6E51C100C43F9F /* CrashReporterClientSPI.h in Headers */, 9340 57597EBD218184900037F924 /* Ctap HidAuthenticator.h in Headers */,9342 57597EBD218184900037F924 /* CtapAuthenticator.h in Headers */, 9341 9343 57597EB921811D9A0037F924 /* CtapHidDriver.h in Headers */, 9342 9344 C55F91711C59676E0029E92D /* DataDetectionResult.h in Headers */, … … 9685 9687 2F8336861FA139DF00C6E080 /* TouchBarMenuData.h in Headers */, 9686 9688 46BEB6E322FBB21A00269867 /* TransientLocalStorageNamespace.h in Headers */, 9687 57EB2E3A21E1983E00B89CDF /* U2f HidAuthenticator.h in Headers */,9689 57EB2E3A21E1983E00B89CDF /* U2fAuthenticator.h in Headers */, 9688 9690 1AFE436618B6C081009C7A48 /* UIDelegate.h in Headers */, 9689 9691 515BE1B51D5917FF00DD7C68 /* UIGamepad.h in Headers */,
Note: See TracChangeset
for help on using the changeset viewer.