commit | acf863dc37b897ce1e4454b8eb46b67612778437 | [log] [tgz] |
---|---|---|
author | dschinazi <dschinazi@google.com> | Mon Feb 22 17:38:59 2021 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Mon Feb 22 17:40:50 2021 -0800 |
tree | 8a6e9f6611ebaaf3afc2ba5d92a8a40d238baeaa | |
parent | 9a5d7c01a17655cbe730e6290a5451f0ca152451 [diff] |
Make QUIC insecure randomness thread-safe cl/358886449 accidentally causes undefined behavior by introducing insecure randomness in a thread-unsafe way, even though QuicRandom is expected to be thread-safe. This CL switches the random number generator state to thread_local storage to avoid the issue. This is slightly slower than before, but still 100x faster than secure randomness. This CL replaces the feature flag to ensure the thread-unsafe code does not get enabled. Protected by FLAGS_quic_reloadable_flag_quic_stateless_reset_faster_random. PiperOrigin-RevId: 358941810 Change-Id: Ie00942a0fad3f459a9eeff1a32a34af73da7f5d0
QUICHE (QUIC, Http/2, Etc) is Google‘s implementation of QUIC and related protocols. It powers Chromium as well as Google’s QUIC servers and some other projects. QUICHE is only supported on little-endian platforms.
Code can be viewed in CodeSearch in Quiche and is imported into Chromium.