[webkit-changes] [WebKit/WebKit] 08e4dc: Improve clarity of cryptographically random number...
Darin Adler
noreply at github.com
Thu Nov 10 16:32:14 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 08e4dc175b88c43782fd9d8f1f3f73166a090ff8
https://github.com/WebKit/WebKit/commit/08e4dc175b88c43782fd9d8f1f3f73166a090ff8
Author: Darin Adler <darin at apple.com>
Date: 2022-11-10 (Thu, 10 Nov 2022)
Changed paths:
M Source/JavaScriptCore/assembler/AbstractMacroAssembler.cpp
M Source/JavaScriptCore/assembler/AbstractMacroAssembler.h
M Source/JavaScriptCore/heap/Heap.cpp
M Source/JavaScriptCore/heap/HeapInlines.h
M Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorSocketEndpoint.cpp
M Source/JavaScriptCore/jit/ExecutableAllocator.cpp
M Source/JavaScriptCore/runtime/JSGlobalObject.cpp
M Source/JavaScriptCore/runtime/VM.cpp
M Source/WTF/WTF.xcodeproj/project.pbxproj
M Source/WTF/wtf/CMakeLists.txt
M Source/WTF/wtf/CryptographicallyRandomNumber.cpp
M Source/WTF/wtf/CryptographicallyRandomNumber.h
M Source/WTF/wtf/FileSystem.cpp
M Source/WTF/wtf/HashTable.h
M Source/WTF/wtf/LoggerHelper.h
R Source/WTF/wtf/RandomNumber.cpp
R Source/WTF/wtf/RandomNumber.h
R Source/WTF/wtf/RandomNumberSeed.h
M Source/WTF/wtf/RobinHoodHashTable.h
M Source/WTF/wtf/Threading.cpp
M Source/WTF/wtf/WeakRandom.h
A Source/WTF/wtf/WeakRandomNumber.cpp
A Source/WTF/wtf/WeakRandomNumber.h
M Source/WebCore/Modules/cache/CacheStorageConnection.cpp
M Source/WebCore/Modules/mediasession/MediaSession.cpp
M Source/WebCore/Modules/mediasession/MediaSessionCoordinator.cpp
M Source/WebCore/Modules/mediastream/MediaDevices.cpp
M Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp
M Source/WebCore/Modules/speech/SpeechRecognitionCaptureSourceImpl.cpp
M Source/WebCore/dom/Document.cpp
M Source/WebCore/loader/PrivateClickMeasurement.cpp
M Source/WebCore/page/DOMTimer.cpp
M Source/WebCore/page/DiagnosticLoggingClient.h
M Source/WebCore/platform/graphics/TrackBuffer.cpp
M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp
M Source/WebCore/platform/mediastream/RealtimeOutgoingAudioSource.cpp
M Source/WebCore/platform/mediastream/gstreamer/GStreamerDisplayCaptureDeviceManager.cpp
M Source/WebCore/platform/network/FormDataBuilder.cpp
M Source/WebCore/style/RuleSetBuilder.cpp
M Source/WebKit/NetworkProcess/NetworkProcess.cpp
M Source/WebKit/NetworkProcess/NetworkSocketStream.cpp
M Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.cpp
M Source/WebKit/NetworkProcess/cache/NetworkCacheData.cpp
M Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp
M Source/WebKit/Platform/IPC/win/ConnectionWin.cpp
M Source/WebKit/Platform/unix/SharedMemoryUnix.cpp
M Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm
M Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp
M Source/WebKit/UIProcess/DeviceIdHashSaltStorage.cpp
M Source/WebKit/UIProcess/WebAuthentication/fido/CtapHidDriver.cpp
M Tools/Scripts/do-webcore-rename
M Tools/TestWebKitAPI/Tests/WTF/BloomFilter.cpp
M Tools/TestWebKitAPI/Tests/WTF/StdLibExtras.cpp
M Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm
M Tools/WebKitTestRunner/TestController.cpp
Log Message:
-----------
Improve clarity of cryptographically random number functions
https://bugs.webkit.org/show_bug.cgi?id=247581
rdar://problem/102057413
Reviewed by Don Olmstead.
* Source/JavaScriptCore/assembler/AbstractMacroAssembler.cpp:
(JSC::AbstractMacroAssemblerBase::initializeRandom): Use cryptographicallyRandomNumber<uint32_t>.
* Source/JavaScriptCore/assembler/AbstractMacroAssembler.h: Remove unneeded include.
* Source/JavaScriptCore/heap/Heap.cpp:
(JSC::Heap::runBeginPhase): Use cryptographicallyRandomNumber<uint32_t>.
* Source/JavaScriptCore/heap/HeapInlines.h: Remove unneeded include.
* Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorSocketEndpoint.cpp:
(Inspector::RemoteInspectorSocketEndpoint::generateConnectionID): Use
cryptographicallyRandomNumber<ConnectionID>. Also fix mistake where this was checking for the
empty value, but not the deleted value.
* Source/JavaScriptCore/jit/ExecutableAllocator.cpp: Use cryptographicallyRandomNumber<uint32_t>.
* Source/JavaScriptCore/runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::JSGlobalObject): Use cryptographicallyRandomNumber<uint32_t>.
* Source/JavaScriptCore/runtime/VM.cpp:
(JSC::VM::VM): Ditto.
* Source/WTF/WTF.xcodeproj/project.pbxproj: Rename RandomNumber.cpp/h to WeakRandomNumber.cpp/h.
Remove RandomNumberSeed.h.
* Source/WTF/wtf/CMakeLists.txt: Ditto.
* Source/WTF/wtf/CryptographicallyRandomNumber.cpp:
(WTF::cryptographicallyRandomNumber<uint32_t>): Renamed from cryptographicallyRandomNumber.
(WTF::cryptographicallyRandomNumber<uint64_t>): Added. Moved here from RandomNumber.cpp.
(WTF::cryptographicallyRandomUnitInterval): Added. Moved here from RandomNumber.cpp.
* Source/WTF/wtf/CryptographicallyRandomNumber.h: Moved all the cryptographically random
functions here from RandomNumber.h. Use template argument for the return type of
cryptographicallyRandomNumber.
* Source/WTF/wtf/FileSystem.cpp:
(WTF::FileSystemImpl::makeSalt): Use cryptographicallyRandomValues.
* Source/WTF/wtf/HashTable.h: Use weakRandomNumber<uint32_t>.
* Source/WTF/wtf/LoggerHelper.h: Use cryptographicallyRandomNumber<uint64_t>.
* Source/WTF/wtf/RandomNumberSeed.h: Removed.
* Source/WTF/wtf/RobinHoodHashTable.h:
(WTF::RobinHoodHashTable::random): Use weakRandomNumber<uint32_t>.
* Source/WTF/wtf/Threading.cpp:
(WTF::initialize): Removed call to initializeRandomNumberGenerator, since we don't use either of
the random number generators in WebKit any more that require initialization.
* Source/WTF/wtf/WeakRandom.h: Use cryptographicallyRandomNumber<unsigned>.
* Source/WTF/wtf/WeakRandomNumber.cpp: Renamed from RandomNumber.cpp.
(WTF::weakRandomNumber<unsigned>): Renamed from weakRandomUint32.
(WTF::cryptographicallyRandomUnitInterval): Deleted. Moved to
CryptographicallyRandomNumber.cpp.
(WTF::cryptographicallyRandomUint32): Ditto.
(WTF::cryptographicallyRandomUint64): Ditto.
* Source/WTF/wtf/WeakRandomNumber.h: Renamed from RandomNumber.h.
Removed other functions. Renamed weakRandomUint32 to weakRandomNumber<uint32_t> to match the name
of the cryptographicallyRandomNumber function.
* Source/WebCore/Modules/cache/CacheStorageConnection.cpp: Updated include.
* Source/WebCore/Modules/mediasession/MediaSession.cpp:
(WebCore::nextLogIdentifier): Use cryptographicallyRandomNumber<uint32_t>().
* Source/WebCore/Modules/mediasession/MediaSessionCoordinator.cpp:
(WebCore::nextCoordinatorLogIdentifier): Ditto.
* Source/WebCore/Modules/mediastream/MediaDevices.cpp: Updated include.
* Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::RTCPeerConnection): Use LoggerHelper::uniqueLogIdentifier
instead of replicating what it does here.
* Source/WebCore/Modules/speech/SpeechRecognitionCaptureSourceImpl.cpp:
(WebCore::nextLogIdentifier): Use cryptographicallyRandomNumber<uint32_t>.
* Source/WebCore/dom/Document.cpp:
(WebCore::sharedLoggerOwner): Use cryptographicallyRandomNumber<uint32_t>.
* Source/WebCore/loader/PrivateClickMeasurement.cpp: Updated include.
* Source/WebCore/page/DOMTimer.cpp: Ditto.
* Source/WebCore/page/DiagnosticLoggingClient.h: Ditto.
* Source/WebCore/platform/graphics/TrackBuffer.cpp:
(WebCore::TrackBuffer::setLogger): Use cryptographicallyRandomNumber<uint32_t>.
* Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp: Removed unneeded include.
* Source/WebCore/platform/mediastream/RealtimeOutgoingAudioSource.cpp: Ditto.
* Source/WebCore/platform/mediastream/gstreamer/GStreamerDisplayCaptureDeviceManager.cpp:
(WebCore::GStreamerDisplayCaptureDeviceManager::createDisplayCaptureSource): Use
weakRandomNumber<uint32_t>.
* Source/WebCore/platform/network/FormDataBuilder.cpp:
(WebCore::FormDataBuilder::generateUniqueBoundaryString): Use
cryptographicallyRandomNumber<unsigned>.
* Source/WebCore/style/RuleSetBuilder.cpp:
(WebCore::Style::RuleSetBuilder::pushCascadeLayer): Use cryptographicallyRandomNumber<uint64_t>.
* Source/WebKit/NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::randomClosedPortDelay): Use cryptographicallyRandomUnitInterval.
* Source/WebKit/NetworkProcess/NetworkSocketStream.cpp: Removed unneeded include.
* Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.cpp:
(WebKit::PrivateClickMeasurementManager::randomlyBetweenFifteenAndThirtyMinutes const):
Use cryptographicallyRandomNumber<uint32_t>.
* Source/WebKit/NetworkProcess/cache/NetworkCacheData.cpp: Removed unneeded include.
* Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp: Updated include.
* Source/WebKit/Platform/IPC/win/ConnectionWin.cpp: Use cryptographicallyRandomNumber<unsigned>.
* Source/WebKit/Platform/unix/SharedMemoryUnix.cpp: Ditto.
* Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm: Removed unneeded include.
* Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp:
(WebKit::MediaFormatReader::nextLogIdentifier): Use cryptographicallyRandomNumber<uint32_t>.
* Source/WebKit/UIProcess/DeviceIdHashSaltStorage.cpp:
(WebKit::DeviceIdHashSaltStorage::completeDeviceIdHashSaltForOriginCall): Removed unneeded type
cast from call to cryptographicallyRandomValues.
* Source/WebKit/UIProcess/WebAuthentication/fido/CtapHidDriver.cpp:
(WebKit::CtapHidDriver::transact): Use weakRandomNumber<uint32_t>.
* Tools/Scripts/do-webcore-rename: Use to rename the files.
* Tools/TestWebKitAPI/Tests/WTF/BloomFilter.cpp:
(TestWebKitAPI::generateRandomHashes): Use cryptographicallyRandomNumber<uint32_t>.
* Tools/TestWebKitAPI/Tests/WTF/StdLibExtras.cpp: Updated include.
* Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:selectAssertionResponse:source:completionHandler:]):
Use weakRandomNumber<uint32_t>.
* Tools/WebKitTestRunner/TestController.cpp:
(WTR::TestController::configureWebsiteDataStoreTemporaryDirectories): Use
cryptographicallyRandomNumber<uint32_t>.
Canonical link: https://commits.webkit.org/256555@main
More information about the webkit-changes
mailing list