From aa277cc202093c4974c439dc5ac4bda3bba79cdb Mon Sep 17 00:00:00 2001 From: Francis Tsui Date: Thu, 30 May 2024 12:43:18 -0700 Subject: [PATCH] Switch to absl random to generate payload and attachment ids. PiperOrigin-RevId: 638749436 --- sharing/BUILD | 4 ++-- sharing/attachment.cc | 10 +++++----- sharing/nearby_connections_types.h | 9 +++++---- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/sharing/BUILD b/sharing/BUILD index fc4c64ff..7f46b153 100644 --- a/sharing/BUILD +++ b/sharing/BUILD @@ -21,8 +21,8 @@ cc_library( "//internal/base:files", "//internal/crypto_cros", "//internal/interop:authentication_status", - "//internal/platform:types", "//sharing/common:compatible_u8_string", + "@com_google_absl//absl/random", "@com_google_absl//absl/strings:string_view", "@com_google_absl//absl/time", ], @@ -60,7 +60,6 @@ cc_library( ":connection_types", "//internal/crypto_cros", "//internal/network:url", - "//internal/platform:types", "//sharing/common:compatible_u8_string", "//sharing/common:enum", "//sharing/internal/base", @@ -68,6 +67,7 @@ cc_library( "//sharing/proto:enums_cc_proto", "//sharing/proto:wire_format_cc_proto", "@com_google_absl//absl/container:flat_hash_set", + "@com_google_absl//absl/random", "@com_google_absl//absl/status:statusor", "@com_google_absl//absl/strings", "@com_google_absl//absl/strings:str_format", diff --git a/sharing/attachment.cc b/sharing/attachment.cc index 33f711df..5dff5abf 100644 --- a/sharing/attachment.cc +++ b/sharing/attachment.cc @@ -14,18 +14,18 @@ #include "sharing/attachment.h" -#include +#include +#include -#include "internal/platform/crypto.h" +#include "absl/random/random.h" namespace nearby { namespace sharing { namespace { int64_t CreateRandomId() { - int64_t id; - RandBytes(&id, sizeof(id)); - return id; + absl::BitGen gen; + return absl::Uniform(gen, 1, std::numeric_limits::max()); } } // namespace diff --git a/sharing/nearby_connections_types.h b/sharing/nearby_connections_types.h index c6a29fce..6b60579c 100644 --- a/sharing/nearby_connections_types.h +++ b/sharing/nearby_connections_types.h @@ -19,16 +19,17 @@ #include // NOLINT(build/c++17) #include +#include #include #include #include #include +#include "absl/random/random.h" #include "absl/strings/string_view.h" #include "absl/time/time.h" #include "internal/base/files.h" #include "internal/interop/authentication_status.h" -#include "internal/platform/crypto.h" #include "sharing/common/compatible_u8_string.h" namespace nearby { @@ -476,9 +477,9 @@ struct Payload { : Payload(GenerateId(), std::vector(bytes, bytes + size)) {} int64_t GenerateId() { - int64_t id; - RandBytes(&id, sizeof(id)); - return id; + absl::BitGen bitgen; + return absl::Uniform(absl::IntervalOpenClosed, bitgen, 0, + std::numeric_limits::max()); } };