Refactor RunPairedKeyVerification.

PiperOrigin-RevId: 684153317
This commit is contained in:
Francis Tsui
2024-10-09 13:34:21 -07:00
committed by Copybara-Service
parent 81148a8b72
commit 2325f8f4e1
4 changed files with 12 additions and 22 deletions
+2 -17
View File
@@ -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));
+8 -3
View File
@@ -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));
-1
View File
@@ -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)>
+2 -1
View File
@@ -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,
[&notification, &verification_result](
PairedKeyVerificationRunner::PairedKeyVerificationResult result,
location::nearby::proto::sharing::OSType) {