From e622eb276ac433624c8a8dcb0386bdece8e0ce7c Mon Sep 17 00:00:00 2001 From: Francis Tsui Date: Thu, 8 Jan 2026 15:24:19 -0800 Subject: [PATCH] Pass string_view into D2DConnectionContextV1::EncodeMessageToPeer. --- src/main/cpp/BUILD.bazel | 1 + .../cpp/include/securegcm/d2d_connection_context_v1.h | 2 ++ src/main/cpp/src/securegcm/d2d_connection_context_v1.cc | 8 +++++++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/cpp/BUILD.bazel b/src/main/cpp/BUILD.bazel index 890bcd0..503eb4e 100644 --- a/src/main/cpp/BUILD.bazel +++ b/src/main/cpp/BUILD.bazel @@ -12,6 +12,7 @@ cc_library( ], deps = [ "//:cc_proto", + "@com_google_absl//absl/strings:string_view", "//src/securemessage:securemessage_common", "//src/securemessage:securemessage_cpp_protobuf", "//src/securemessage:securemessage_openssl", diff --git a/src/main/cpp/include/securegcm/d2d_connection_context_v1.h b/src/main/cpp/include/securegcm/d2d_connection_context_v1.h index d58b46e..5dd57bd 100644 --- a/src/main/cpp/include/securegcm/d2d_connection_context_v1.h +++ b/src/main/cpp/include/securegcm/d2d_connection_context_v1.h @@ -18,6 +18,7 @@ #include #include +#include "absl/strings/string_view.h" #include "src/securemessage/include/securemessage/crypto_ops.h" namespace securegcm { @@ -40,6 +41,7 @@ class D2DConnectionContextV1 { // // On failure, nullptr is returned. std::unique_ptr EncodeMessageToPeer(const string& payload); + std::unique_ptr EncodeMessageToPeer(absl::string_view payload); // Once the initiator and responder have negotiated a secret key, use this // method to decrypt and verify a |message| received from the other device. diff --git a/src/main/cpp/src/securegcm/d2d_connection_context_v1.cc b/src/main/cpp/src/securegcm/d2d_connection_context_v1.cc index f269372..02e2089 100644 --- a/src/main/cpp/src/securegcm/d2d_connection_context_v1.cc +++ b/src/main/cpp/src/securegcm/d2d_connection_context_v1.cc @@ -17,6 +17,7 @@ #include #include +#include "absl/strings/string_view.h" #include "device_to_device_messages.pb.h" #include "securegcm.pb.h" #include "src/main/cpp/include/securegcm/d2d_crypto_ops.h" @@ -66,7 +67,7 @@ const int kSavedSessionLength = kDecodeKeyStart + kAesKeyLength; // Convenience function to creates a DeviceToDeviceMessage proto with |payload| // and |sequence_number|. -DeviceToDeviceMessage CreateDeviceToDeviceMessage(const std::string& payload, +DeviceToDeviceMessage CreateDeviceToDeviceMessage(absl::string_view payload, uint32_t sequence_number) { DeviceToDeviceMessage device_to_device_message; device_to_device_message.set_sequence_number(sequence_number); @@ -98,6 +99,11 @@ D2DConnectionContextV1::D2DConnectionContextV1( std::unique_ptr D2DConnectionContextV1::EncodeMessageToPeer( const std::string& payload) { + return EncodeMessageToPeer(absl::string_view(payload)); +} + +std::unique_ptr D2DConnectionContextV1::EncodeMessageToPeer( + absl::string_view payload) { encode_sequence_number_++; const DeviceToDeviceMessage message = CreateDeviceToDeviceMessage(payload, encode_sequence_number_);