commit 0fbd5ecf61e6dd4b85783bb9b4fcb507fc922bb8
parent bf7a85843044f2326261c7fad6899d197604a4db
Author: Michael Froman <mfroman@mozilla.com>
Date: Wed, 15 Oct 2025 11:33:07 -0500
Bug 1993083 - Vendor libwebrtc from 6b9333ad21
Upstream commit: https://webrtc.googlesource.com/src/+/6b9333ad21b1adb5d87d6414189efbe92d8c3384
Deprecate and stop calling RandomGenerator::InitRandom
All known implementations ignore that call.
Bug: None
Change-Id: I0bdce66c4d4c2e498fbc72166726451fc24fd60a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/402780
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#45253}
Diffstat:
9 files changed, 12 insertions(+), 44 deletions(-)
diff --git a/third_party/libwebrtc/README.mozilla.last-vendor b/third_party/libwebrtc/README.mozilla.last-vendor
@@ -1,4 +1,4 @@
# ./mach python dom/media/webrtc/third_party_build/vendor-libwebrtc.py --from-local /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc --commit mozpatches libwebrtc
-libwebrtc updated from /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-15T16:31:41.924777+00:00.
+libwebrtc updated from /home/mfroman/mozilla/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-15T16:32:58.034409+00:00.
# base of lastest vendoring
-6b82554f6d
+6b9333ad21
diff --git a/third_party/libwebrtc/moz-patch-stack/s0103.patch b/third_party/libwebrtc/moz-patch-stack/s0103.patch
@@ -601,7 +601,7 @@ index f79625d651..fe09ff6f5b 100644
import("../../webrtc.gni")
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
-index 8ccabca2e2..640a30b5a4 100644
+index ff47dc6ce7..2beb606167 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -30,8 +30,8 @@
diff --git a/third_party/libwebrtc/p2p/base/stun_port_unittest.cc b/third_party/libwebrtc/p2p/base/stun_port_unittest.cc
@@ -283,11 +283,6 @@ class StunPortTestBase : public ::testing::Test, public sigslot::has_slots<> {
}
protected:
- static void SetUpTestSuite() {
- // Ensure the RNG is inited.
- webrtc::InitRandom(nullptr, 0);
- }
-
void OnPortComplete(webrtc::Port* /* port */) {
ASSERT_FALSE(done_);
done_ = true;
diff --git a/third_party/libwebrtc/pc/BUILD.gn b/third_party/libwebrtc/pc/BUILD.gn
@@ -887,13 +887,11 @@ rtc_library("connection_context") {
"../media:rtc_data_sctp_transport_factory",
"../p2p:basic_packet_socket_factory",
"../rtc_base:checks",
- "../rtc_base:crypto_random",
"../rtc_base:macromagic",
"../rtc_base:network",
"../rtc_base:socket_factory",
"../rtc_base:socket_server",
"../rtc_base:threading",
- "../rtc_base:timeutils",
"../rtc_base:unique_id_generator",
"../rtc_base/memory:always_valid_pointer",
]
diff --git a/third_party/libwebrtc/pc/connection_context.cc b/third_party/libwebrtc/pc/connection_context.cc
@@ -22,13 +22,11 @@
#include "p2p/base/basic_packet_socket_factory.h"
#include "pc/media_factory.h"
#include "rtc_base/checks.h"
-#include "rtc_base/crypto_random.h"
#include "rtc_base/internal/default_socket_server.h"
#include "rtc_base/network.h"
#include "rtc_base/socket_factory.h"
#include "rtc_base/socket_server.h"
#include "rtc_base/thread.h"
-#include "rtc_base/time_utils.h"
namespace webrtc {
@@ -140,8 +138,6 @@ ConnectionContext::ConnectionContext(
});
}
- InitRandom(Time32());
-
SocketFactory* socket_factory = dependencies->socket_factory;
if (socket_factory == nullptr) {
if (owned_socket_factory_) {
diff --git a/third_party/libwebrtc/rtc_base/crypto_random.cc b/third_party/libwebrtc/rtc_base/crypto_random.cc
@@ -34,9 +34,8 @@ namespace {
// The OpenSSL RNG.
class SecureRandomGenerator : public RandomGenerator {
public:
- SecureRandomGenerator() {}
- ~SecureRandomGenerator() override {}
- bool Init(const void* /* seed */, size_t /* len */) override { return true; }
+ SecureRandomGenerator() = default;
+ ~SecureRandomGenerator() override = default;
bool Generate(void* buf, size_t len) override {
return (RAND_bytes(reinterpret_cast<unsigned char*>(buf), len) > 0);
}
@@ -46,8 +45,7 @@ class SecureRandomGenerator : public RandomGenerator {
class TestRandomGenerator : public RandomGenerator {
public:
TestRandomGenerator() : seed_(7) {}
- ~TestRandomGenerator() override {}
- bool Init(const void* /* seed */, size_t /* len */) override { return true; }
+ ~TestRandomGenerator() override = default;
bool Generate(void* buf, size_t len) override {
for (size_t i = 0; i < len; ++i) {
static_cast<uint8_t*>(buf)[i] = static_cast<uint8_t>(GetRandom());
diff --git a/third_party/libwebrtc/rtc_base/crypto_random.h b/third_party/libwebrtc/rtc_base/crypto_random.h
@@ -25,8 +25,10 @@ namespace webrtc {
// Interface for RNG implementations.
class RandomGenerator {
public:
- virtual ~RandomGenerator() {}
- virtual bool Init(const void* seed, size_t len) = 0;
+ virtual ~RandomGenerator() = default;
+ [[deprecated]] virtual bool Init(const void* seed, size_t len) {
+ return true;
+ }
virtual bool Generate(void* buf, size_t len) = 0;
};
@@ -43,8 +45,8 @@ void SetRandomGenerator(std::unique_ptr<RandomGenerator> generator);
void SetRandomTestMode(bool test);
// Initializes the RNG, and seeds it with the specified entropy.
-bool InitRandom(int seed);
-bool InitRandom(const char* seed, size_t len);
+[[deprecated]] bool InitRandom(int seed);
+[[deprecated]] bool InitRandom(const char* seed, size_t len);
// Generates a (cryptographically) random string of the given length.
// We generate base64 values so that they will be printable.
diff --git a/third_party/libwebrtc/rtc_base/crypto_random_unittest.cc b/third_party/libwebrtc/rtc_base/crypto_random_unittest.cc
@@ -128,7 +128,6 @@ class MockRandomGenerator : public RandomGenerator {
MOCK_METHOD(void, Die, ());
~MockRandomGenerator() override { Die(); }
- MOCK_METHOD(bool, Init, (const void* seed, size_t len), (override));
MOCK_METHOD(bool, Generate, (void* buf, size_t len), (override));
};
@@ -138,14 +137,6 @@ TEST(RandomTest, TestSetRandomGenerator) {
MockRandomGenerator* generator = will_move.get();
SetRandomGenerator(std::move(will_move));
- EXPECT_CALL(*generator, Init(_, sizeof(int))).WillOnce(Return(true));
- EXPECT_TRUE(InitRandom(5));
-
- std::string seed = "seed";
- EXPECT_CALL(*generator, Init(seed.data(), seed.size()))
- .WillOnce(Return(true));
- EXPECT_TRUE(InitRandom(seed.data(), seed.size()));
-
uint32_t id = 4658;
EXPECT_CALL(*generator, Generate(_, sizeof(uint32_t)))
.WillOnce(DoAll(WithArg<0>(Invoke([&id](void* p) {
diff --git a/third_party/libwebrtc/rtc_base/unique_id_generator_unittest.cc b/third_party/libwebrtc/rtc_base/unique_id_generator_unittest.cc
@@ -21,7 +21,6 @@
#include "api/task_queue/task_queue_base.h"
#include "api/units/time_delta.h"
#include "rtc_base/checks.h"
-#include "rtc_base/crypto_random.h"
#include "test/gmock.h"
#include "test/gtest.h"
@@ -79,15 +78,12 @@ TYPED_TEST(UniqueIdGeneratorTest, ElementsDoNotRepeat) {
TYPED_TEST(UniqueIdGeneratorTest, KnownElementsAreNotGenerated) {
typedef TypeParam Generator;
const size_t num_elements = 100;
- InitRandom(0);
Generator generator1;
std::vector<typename Generator::value_type> known_values;
for (size_t i = 0; i < num_elements; i++) {
known_values.push_back(generator1.Generate());
}
EXPECT_EQ(num_elements, known_values.size());
-
- InitRandom(0);
Generator generator2(known_values);
std::vector<typename Generator::value_type> values;
@@ -106,7 +102,6 @@ TYPED_TEST(UniqueIdGeneratorTest, KnownElementsAreNotGenerated) {
TYPED_TEST(UniqueIdGeneratorTest, AddedElementsAreNotGenerated) {
typedef TypeParam Generator;
const size_t num_elements = 100;
- InitRandom(0);
Generator generator1;
std::vector<typename Generator::value_type> known_values;
for (size_t i = 0; i < num_elements; i++) {
@@ -114,7 +109,6 @@ TYPED_TEST(UniqueIdGeneratorTest, AddedElementsAreNotGenerated) {
}
EXPECT_EQ(num_elements, known_values.size());
- InitRandom(0);
Generator generator2;
for (const typename Generator::value_type& value : known_values) {
@@ -137,11 +131,9 @@ TYPED_TEST(UniqueIdGeneratorTest, AddedElementsAreNotGenerated) {
TYPED_TEST(UniqueIdGeneratorTest, AddKnownIdOnNewIdReturnsTrue) {
typedef TypeParam Generator;
- InitRandom(0);
Generator generator1;
const typename Generator::value_type id = generator1.Generate();
- InitRandom(0);
Generator generator2;
EXPECT_TRUE(generator2.AddKnownId(id));
}
@@ -149,11 +141,9 @@ TYPED_TEST(UniqueIdGeneratorTest, AddKnownIdOnNewIdReturnsTrue) {
TYPED_TEST(UniqueIdGeneratorTest, AddKnownIdCalledAgainForSameIdReturnsFalse) {
typedef TypeParam Generator;
- InitRandom(0);
Generator generator1;
const typename Generator::value_type id = generator1.Generate();
- InitRandom(0);
Generator generator2;
ASSERT_TRUE(generator2.AddKnownId(id));
EXPECT_FALSE(generator2.AddKnownId(id));
@@ -163,12 +153,10 @@ TYPED_TEST(UniqueIdGeneratorTest,
AddKnownIdOnIdProvidedAsKnownToCtorReturnsFalse) {
typedef TypeParam Generator;
- InitRandom(0);
Generator generator1;
const typename Generator::value_type id = generator1.Generate();
std::vector<typename Generator::value_type> known_values = {id};
- InitRandom(0);
Generator generator2(known_values);
EXPECT_FALSE(generator2.AddKnownId(id));
}