gecko-dev/mozglue/dllservices
Aaron Klotz 4204671639 Bug 1522830: Part 8 - Update UntrustedModulesProcessor to support processing child processes; r=mhowell
This patch contains the core changes to make this all work across e10s:

* We clarify the naming of path variables to be more specific as to whether they are NT paths or DOS paths;
* We add IPC `ParamTraits` that are necessary for `UntrustedModulesData` types;
* We implement `ProcessModuleLoadQueue` for child processes. Because of sandboxing, we need to split this sequence into multiple async operations:
  ** Initial queue processing;
  ** Sending the list of modules to the parent process to determine trustworthiness (via `GetModulesTrust`);
  ** Receiving the results from the parent process and producing a final result (via `CompleteProcessing`).
* We implement the `GetModulesTrust` function for the parent process, which evaluates the trust of child process modules;
* We change all hash tables to be keyed using NT paths. Because resolving DOS paths may not be permitted in sandboxed processes,
  we need to standardize on NT paths as the "universal path" across processes.
* We add `WinDllServices::StartUntrustedModulesProcessor` to separate untrusted modules startup from `WinDllServices` construction:
  ** While we now start `WinDllServices` across all child process types, only specific process types will support untrusted modules.
  ** Furthermore, untrusted modules must be started at a very specific point that is dependent on the type of child process.
  ** We add those calls to `StartUntrustedModulesProcessor` in subsequent patches.

Differential Revision: https://phabricator.services.mozilla.com/D53680

--HG--
extra : moz-landing-system : lando
2019-12-05 21:57:29 +00:00
..
Authenticode.cpp Bug 1592120: Add flag to Authenticode::GetBinaryOrgName to skip trust verification and use it in untrusted modules processing; r=mhowell 2019-10-28 21:58:49 +00:00
Authenticode.h Bug 1592120: Add flag to Authenticode::GetBinaryOrgName to skip trust verification and use it in untrusted modules processing; r=mhowell 2019-10-28 21:58:49 +00:00
gen_dll_blocklist_defs.py Bug 1522830: Part 3 - Change launcher blocklist generation to include child processes; r=bytesized 2019-12-05 21:52:13 +00:00
LoaderAPIInterfaces.h Bug 1522830: Part 6 - Add API to be able to initialize launcher dll blocklist during spawning of child process; r=mhowell 2019-12-05 21:55:02 +00:00
LoaderObserver.cpp Bug 1583417: Remove assertion that may fire spuriously due to racy condition; r=mhowell 2019-09-24 14:53:23 +00:00
LoaderObserver.h Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell 2019-09-23 20:18:41 +00:00
ModuleLoadFrame.cpp Bug 1522830: Part 6 - Add API to be able to initialize launcher dll blocklist during spawning of child process; r=mhowell 2019-12-05 21:55:02 +00:00
ModuleLoadFrame.h Bug 1522830: Part 6 - Add API to be able to initialize launcher dll blocklist during spawning of child process; r=mhowell 2019-12-05 21:55:02 +00:00
ModuleLoadInfo.h Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell 2019-09-23 20:18:41 +00:00
moz.build Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell 2019-09-23 20:18:41 +00:00
NtLoaderAPI.h Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell 2019-09-23 20:18:41 +00:00
WindowsDllBlocklist.cpp Bug 1522830: Part 6 - Add API to be able to initialize launcher dll blocklist during spawning of child process; r=mhowell 2019-12-05 21:55:02 +00:00
WindowsDllBlocklist.h Bug 1522830: Part 2 - Make launcher blocklist work in child processes; r=mhowell 2019-12-05 21:51:35 +00:00
WindowsDllBlocklistCommon.h Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell 2019-09-23 20:18:41 +00:00
WindowsDllBlocklistDefs.in Bug 1576728 - Let blocklist entries for FYUnZIP and PuddingZip ride the trains but confine them to older/unversioned dlls. r=aklotz 2019-11-14 23:40:00 +00:00
WindowsDllServices.h Bug 1522830: Part 8 - Update UntrustedModulesProcessor to support processing child processes; r=mhowell 2019-12-05 21:57:29 +00:00
WindowsFallbackLoaderAPI.cpp Bug 1522830: Part 6 - Add API to be able to initialize launcher dll blocklist during spawning of child process; r=mhowell 2019-12-05 21:55:02 +00:00
WindowsFallbackLoaderAPI.h Bug 1522830: Part 6 - Add API to be able to initialize launcher dll blocklist during spawning of child process; r=mhowell 2019-12-05 21:55:02 +00:00