tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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:
Mthird_party/libwebrtc/README.mozilla.last-vendor | 4++--
Mthird_party/libwebrtc/moz-patch-stack/s0103.patch | 2+-
Mthird_party/libwebrtc/p2p/base/stun_port_unittest.cc | 5-----
Mthird_party/libwebrtc/pc/BUILD.gn | 2--
Mthird_party/libwebrtc/pc/connection_context.cc | 4----
Mthird_party/libwebrtc/rtc_base/crypto_random.cc | 8+++-----
Mthird_party/libwebrtc/rtc_base/crypto_random.h | 10++++++----
Mthird_party/libwebrtc/rtc_base/crypto_random_unittest.cc | 9---------
Mthird_party/libwebrtc/rtc_base/unique_id_generator_unittest.cc | 12------------
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)); }