mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-16 15:36:12 -04:00
Refactor RunPairedKeyVerification.
PiperOrigin-RevId: 684153317
This commit is contained in:
committed by
Copybara-Service
parent
81148a8b72
commit
2325f8f4e1
@@ -2465,13 +2465,6 @@ void NearbySharingServiceImpl::OnOutgoingConnection(
|
||||
(context_->GetClock()->Now() - connect_start_time)),
|
||||
/*referrer_package=*/std::nullopt);
|
||||
|
||||
std::optional<std::vector<uint8_t>> token =
|
||||
nearby_connections_manager_->GetRawAuthenticationToken(
|
||||
session.endpoint_id());
|
||||
if (!token.has_value()) {
|
||||
session.Abort(TransferMetadata::Status::kDeviceAuthenticationFailed);
|
||||
return;
|
||||
}
|
||||
session.RunPairedKeyVerification(
|
||||
ToProtoOsType(device_info_.GetOsType()),
|
||||
{
|
||||
@@ -2479,7 +2472,7 @@ void NearbySharingServiceImpl::OnOutgoingConnection(
|
||||
.last_visibility = settings_->GetLastVisibility(),
|
||||
.last_visibility_time = settings_->GetLastVisibilityTimestamp(),
|
||||
},
|
||||
GetCertificateManager(), *token,
|
||||
GetCertificateManager(),
|
||||
absl::bind_front(
|
||||
&NearbySharingServiceImpl::OnOutgoingConnectionKeyVerificationDone,
|
||||
this, share_target_id));
|
||||
@@ -2821,14 +2814,6 @@ void NearbySharingServiceImpl::OnIncomingDecryptedCertificate(
|
||||
connection->SetDisconnectionListener(
|
||||
[this, share_target_id]() { OnConnectionDisconnected(share_target_id); });
|
||||
|
||||
std::optional<std::vector<uint8_t>> token =
|
||||
nearby_connections_manager_->GetRawAuthenticationToken(
|
||||
session.endpoint_id());
|
||||
|
||||
if (!token.has_value()) {
|
||||
session.Abort(TransferMetadata::Status::kDeviceAuthenticationFailed);
|
||||
return;
|
||||
}
|
||||
session.RunPairedKeyVerification(
|
||||
ToProtoOsType(device_info_.GetOsType()),
|
||||
{
|
||||
@@ -2836,7 +2821,7 @@ void NearbySharingServiceImpl::OnIncomingDecryptedCertificate(
|
||||
.last_visibility = settings_->GetLastVisibility(),
|
||||
.last_visibility_time = settings_->GetLastVisibilityTimestamp(),
|
||||
},
|
||||
GetCertificateManager(), *token,
|
||||
GetCertificateManager(),
|
||||
absl::bind_front(
|
||||
&NearbySharingServiceImpl::OnIncomingConnectionKeyVerificationDone,
|
||||
this, share_target_id));
|
||||
|
||||
@@ -158,14 +158,19 @@ void ShareSession::RunPairedKeyVerification(
|
||||
OSType os_type,
|
||||
const PairedKeyVerificationRunner::VisibilityHistory& visibility_history,
|
||||
NearbyShareCertificateManager* certificate_manager,
|
||||
const std::vector<uint8_t>& token,
|
||||
std::function<void(PairedKeyVerificationRunner::PairedKeyVerificationResult,
|
||||
OSType)>
|
||||
callback) {
|
||||
token_ = TokenToFourDigitString(token);
|
||||
std::optional<std::vector<uint8_t>> token =
|
||||
connections_manager_.GetRawAuthenticationToken(endpoint_id());
|
||||
if (!token.has_value()) {
|
||||
Abort(TransferMetadata::Status::kDeviceAuthenticationFailed);
|
||||
return;
|
||||
}
|
||||
token_ = TokenToFourDigitString(*token);
|
||||
|
||||
key_verification_runner_ = std::make_shared<PairedKeyVerificationRunner>(
|
||||
&clock_, os_type, IsIncoming(), visibility_history, token, connection_,
|
||||
&clock_, os_type, IsIncoming(), visibility_history, *token, connection_,
|
||||
certificate_, certificate_manager, frames_reader_.get(),
|
||||
kReadFramesTimeout);
|
||||
key_verification_runner_->Run(std::move(callback));
|
||||
|
||||
@@ -116,7 +116,6 @@ class ShareSession {
|
||||
location::nearby::proto::sharing::OSType os_type,
|
||||
const PairedKeyVerificationRunner::VisibilityHistory& visibility_history,
|
||||
NearbyShareCertificateManager* certificate_manager,
|
||||
const std::vector<uint8_t>& token,
|
||||
std::function<
|
||||
void(PairedKeyVerificationRunner::PairedKeyVerificationResult,
|
||||
location::nearby::proto::sharing::OSType)>
|
||||
|
||||
@@ -171,6 +171,7 @@ TEST(ShareSessionTest, IncomingRunPairedKeyVerificationSuccess) {
|
||||
ShareTarget share_target;
|
||||
share_target.is_incoming = true;
|
||||
TestShareSession session(std::string(kEndpointId), share_target);
|
||||
session.connections_manager().SetRawAuthenticationToken(kEndpointId, token);
|
||||
session.SetOnNewConnectionResult(true);
|
||||
absl::Time connect_start_time = absl::Now();
|
||||
EXPECT_TRUE(session.OnConnected(connect_start_time, &connection));
|
||||
@@ -185,7 +186,7 @@ TEST(ShareSessionTest, IncomingRunPairedKeyVerificationSuccess) {
|
||||
proto::DeviceVisibility::DEVICE_VISIBILITY_EVERYONE,
|
||||
.last_visibility_time = absl::Now(),
|
||||
},
|
||||
&certificate_manager, token,
|
||||
&certificate_manager,
|
||||
[¬ification, &verification_result](
|
||||
PairedKeyVerificationRunner::PairedKeyVerificationResult result,
|
||||
location::nearby::proto::sharing::OSType) {
|
||||
|
||||
Reference in New Issue
Block a user