fune/toolkit/xre
Yannis Juglaret c998f74ae3 Bug 1788004 - Implement a hook-based fallback for BCryptGenRandom to mitigate Rust panics. r=cmartin
BCryptGenRandom can be broken, but the Rust stdlib and the getrandom
crate rely on it, and this is a source of crashes which are Rust
panics. This happens the most on Windows 7 after bcryptprimitives.dll
fails to load (see bug 1788004).

To mitigate these crashes, we hook BCryptGenRandom if we detect that it
is broken, and install a fallback based on RtlGenRandom. We only protect
calls that use BCRYPT_USE_SYSTEM_PREFERRED_RNG; so code that relies on
using BCryptOpenAlgorithmProvider and doesn't have its own fallback can
still fail.

We will hopefully remove this hook when the Rust stdlib and the
getrandom crate both have their own RtlGenRandom-based fallback.

Differential Revision: https://phabricator.services.mozilla.com/D170662
2023-02-27 15:00:57 +00:00
..
detect_win32k_conflicts Bug 1802689 - Add missing licenses info in Cargo.toml r=mhoye,necko-reviewers,kershaw,valentin 2022-12-13 09:14:44 +00:00
dllservices Bug 1788004 - Implement a hook-based fallback for BCryptGenRandom to mitigate Rust panics. r=cmartin 2023-02-27 15:00:57 +00:00
test Bug 1671548 - Remove fission experiment support code and prefs, r=smaug, 2023-01-17 10:05:36 +00:00
AssembleCmdLine.h
AutoSQLiteLifetime.cpp
AutoSQLiteLifetime.h
Bootstrap.cpp
Bootstrap.h
CmdLineAndEnvUtils.cpp
CmdLineAndEnvUtils.h
components.conf
CreateAppData.cpp
detect_win32k_conflicts.h
DllPrefetchExperimentRegistryInfo.cpp
DllPrefetchExperimentRegistryInfo.h
EventTracer.cpp
EventTracer.h
GeckoArgs.h Bug 1744362 - Part 6: use dynamic blocklist file to block third-party DLLs r=handyman 2022-12-30 20:10:04 +00:00
glxtest.cpp Backed out 2 changesets (bug 1787182) for valgrind-test bustages and we and bc failures. CLOSED TREE 2023-02-14 02:23:08 +02:00
LauncherRegistryInfo.cpp Bug 1744362 - Part 12: fix build and some tests r=handyman 2022-12-30 20:10:06 +00:00
LauncherRegistryInfo.h Bug 1744362 - Part 6: use dynamic blocklist file to block third-party DLLs r=handyman 2022-12-30 20:10:04 +00:00
MacApplicationDelegate.h Bug 639707 - Add resume session support on macOS. Based on a patch by :MattN. r=mstange 2023-02-03 03:28:06 +00:00
MacApplicationDelegate.mm Bug 639707 - Add resume session support on macOS. Based on a patch by :MattN. r=mstange 2023-02-03 03:28:06 +00:00
MacAutoreleasePool.h
MacAutoreleasePool.mm
MacLaunchHelper.h
MacLaunchHelper.mm
MacRunFromDmgUtils.h
MacRunFromDmgUtils.mm
metrics.yaml
moz.build Bug 1799470 - Refactor app starter r=nika 2023-01-18 15:46:09 +00:00
MultiInstanceLock.cpp
MultiInstanceLock.h
nsAndroidStartup.cpp
nsAppRunner.cpp Bug 1788004 - Implement a hook-based fallback for BCryptGenRandom to mitigate Rust panics. r=cmartin 2023-02-27 15:00:57 +00:00
nsAppRunner.h
nsCommandLineServiceMac.h
nsCommandLineServiceMac.mm
nsConsoleWriter.cpp
nsEmbedFunctions.cpp Bug 1788004 - Implement a hook-based fallback for BCryptGenRandom to mitigate Rust panics. r=cmartin 2023-02-27 15:00:57 +00:00
nsGDKErrorHandler.cpp
nsGDKErrorHandler.h
nsINativeAppSupport.idl
nsIWinAppHelper.idl
nsIXREDirProvider.idl
nsNativeAppSupportBase.cpp
nsNativeAppSupportBase.h
nsNativeAppSupportCocoa.mm
nsNativeAppSupportDefault.cpp
nsNativeAppSupportUnix.cpp Bug 1799470 - Refactor app starter r=nika 2023-01-18 15:46:09 +00:00
nsNativeAppSupportWin.cpp
nsNativeAppSupportWin.h Bug 1804661 - Convert browser/components/BrowserContentHandler.jsm to an ES module. r=Gijs 2022-12-12 14:59:18 +00:00
nsSigHandlers.cpp
nsSigHandlers.h
nsUpdateDriver.cpp Bug 1815473: Update code comment to no longer refer to Updated.app being stored inside the application bundle on macOS. r=bytesized,application-update-reviewers DONTBUILD 2023-02-07 21:54:15 +00:00
nsUpdateDriver.h Bug 1772908 - [6/6] Replace polling in UpdateDriver with use of HandleWatcher on Windows r=application-update-reviewers,bytesized 2022-12-13 16:38:06 +00:00
nsUpdateSyncManager.cpp
nsUpdateSyncManager.h
nsWindowsRestart.cpp
nsWindowsWMain.cpp
nsX11ErrorHandler.cpp Bug 1777849 - Avoid calling XSynchronize in error handler unless debugging. r=gfx-reviewers,ahale 2023-02-25 22:20:17 +00:00
nsX11ErrorHandler.h
nsXREDirProvider.cpp Bug 1772089 p5: Remove content temp dir from Windows and masOS. r=jld,haik,glandium 2023-02-24 08:44:41 +00:00
nsXREDirProvider.h Bug 1772089 p5: Remove content temp dir from Windows and masOS. r=jld,haik,glandium 2023-02-24 08:44:41 +00:00
platform.ini
PolicyChecks.h Bug 1811272 - allow QWORD registry keys for Enterprise blocklist policy r=mkaply 2023-01-30 22:33:29 +00:00
ProfileReset.cpp
ProfileReset.h
SafeMode.h
UIKitDirProvider.h
UIKitDirProvider.mm
updaterfileutils_osx.h
updaterfileutils_osx.mm
WinTokenUtils.cpp
WinTokenUtils.h