gecko-dev/ipc/glue
Toshihito Kikuchi e83bcb5130 Bug 1630281 - Cache the executable's IAT for ntdll.dll before COM initialization. r=mhowell
When the browser process starts a sandbox process, we copy the executable's IAT
for ntdll.dll into the new process to prevent DLL injection via IAT tampering as
the launcher process does.  However, if IAT has been modified by a module injected
via `SetWindowHookEx`, the browser process cannot copy IAT because a modified IAT
is invalid in a different process, failing to start any sandbox processes.

The proposed fix is to cache IAT before COM initialization which may load
modules via `SetWindowHookEx` for the first time in the process.

Differential Revision: https://phabricator.services.mozilla.com/D73303
2020-04-30 18:26:18 +00:00
..
BackgroundChild.h Bug 1603420 - PBackground for the Parent-Socket process bridge r=baku,jld 2020-03-03 16:14:19 +00:00
BackgroundChildImpl.cpp Bug 1620594 - Part 7: Remove TabGroup and SystemGroup. r=nika,bas 2020-04-07 15:17:47 +00:00
BackgroundChildImpl.h Bug 1615552 - Enhance SimpleDB to support other persistence types; r=ttung,dom-workers-and-storage-reviewers 2020-02-27 13:46:43 +00:00
BackgroundImpl.cpp Bug 1603420 - PBackground for the Parent-Socket process bridge r=baku,jld 2020-03-03 16:14:19 +00:00
BackgroundParent.h Bug 1603420 - PBackground for the Parent-Socket process bridge r=baku,jld 2020-03-03 16:14:19 +00:00
BackgroundParentImpl.cpp Bug 1620594 - Part 1: Rework NS_ReleaseOnMainThreadSystemGroup. r=nika 2020-04-07 15:16:23 +00:00
BackgroundParentImpl.h Bug 1512471 - Introduce PVerifySSLServerCert for the certificate verification r=keeler,jld 2020-02-28 10:58:56 +00:00
BackgroundUtils.cpp Bug 1621987: Implement Sec-Fetch-User. r=baku,edgar,Gijs 2020-04-16 08:04:26 +00:00
BackgroundUtils.h Bug 1629351 - Fix typo in name of IsPincipalInfoPrivate. r=baku 2020-04-12 13:19:57 +00:00
BrowserProcessSubThread.cpp
BrowserProcessSubThread.h
ByteBuf.h Bug 1592822 - Replace StyleVecU8 with ipc::ByteBuf. r=emilio 2020-01-22 20:18:40 +00:00
ByteBufUtils.h Bug 1592822 - Replace StyleVecU8 with ipc::ByteBuf. r=emilio 2020-01-22 20:18:40 +00:00
CrashReporterClient.cpp Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj 2020-04-08 06:55:40 +00:00
CrashReporterClient.h Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj 2020-04-08 06:55:40 +00:00
CrashReporterHelper.h Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj 2020-04-08 06:55:40 +00:00
CrashReporterHost.cpp Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj 2020-04-08 06:55:40 +00:00
CrashReporterHost.h Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj 2020-04-08 06:55:40 +00:00
CrossProcessMutex.h Bug 1618165 - Provide BaseAutoLock and BaseAutoUnlock deduction guides for Mutex references. r=froydnj 2020-02-28 07:59:30 +00:00
CrossProcessMutex_posix.cpp Bug 1533918 - Disallow CrossProcessMutex when sandboxing is enabled. r=botond 2019-10-30 17:59:15 +00:00
CrossProcessMutex_unimplemented.cpp
CrossProcessMutex_windows.cpp
CrossProcessSemaphore.h Bug 1477756 - Fix all webgl regression tests according to CI. r=handyman 2020-01-08 22:19:23 +00:00
CrossProcessSemaphore_posix.cpp
CrossProcessSemaphore_unimplemented.cpp
CrossProcessSemaphore_windows.cpp
EnvironmentMap.h
FileDescriptor.cpp Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj 2020-03-28 16:00:09 +00:00
FileDescriptor.h Bug 1534780 - Add free interconversion between UniqueFileHandle and ipc::FileDescriptor and use it in a few places. r=froydnj 2019-06-28 19:46:58 +00:00
FileDescriptorSetChild.cpp Bug 1605934 - Use nested namespaces r=sg 2020-01-18 13:48:34 +00:00
FileDescriptorSetChild.h Bug 1596409 - P1.1: Make socket process support IPCStream r=dragana 2019-12-03 13:41:58 +00:00
FileDescriptorSetParent.cpp Bug 1605934 - Use nested namespaces r=sg 2020-01-18 13:48:34 +00:00
FileDescriptorSetParent.h Bug 1596409 - P1.1: Make socket process support IPCStream r=dragana 2019-12-03 13:41:58 +00:00
FileDescriptorShuffle.cpp
FileDescriptorShuffle.h Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2020-01-09 21:50:11 +00:00
FileDescriptorUtils.cpp
FileDescriptorUtils.h
ForkServer.cpp Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2020-01-09 21:50:11 +00:00
ForkServer.h Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2020-01-09 21:50:11 +00:00
ForkServiceChild.cpp Bug 1519636 - Reformat recent changes to the Google coding style r=jgilbert 2020-04-05 13:34:58 +00:00
ForkServiceChild.h Bug 1609881 - Part 1: put the fork server behind a preference. r=gsvelto 2020-02-12 16:57:39 +00:00
GeckoChildProcessHost.cpp Bug 1630281 - Cache the executable's IAT for ntdll.dll before COM initialization. r=mhowell 2020-04-30 18:26:18 +00:00
GeckoChildProcessHost.h Bug 1630281 - Cache the executable's IAT for ntdll.dll before COM initialization. r=mhowell 2020-04-30 18:26:18 +00:00
IOThreadChild.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in ipc. r=jld 2020-02-14 00:57:39 +00:00
IPCMessageUtils.cpp Bug 1591438 - Move DEFINE_IPC_SERIALIZER_WITH_FIELDS into IPCMessageUtils header r=bwc 2019-11-04 15:00:04 +00:00
IPCMessageUtils.h Bug 1626570 - Add ParamTraits for CopyableTArray. r=nika 2020-04-30 09:36:04 +00:00
IPCStream.ipdlh
IPCStreamAlloc.h
IPCStreamChild.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in ipc. r=jld 2020-02-14 00:57:39 +00:00
IPCStreamDestination.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in ipc. r=jld 2020-02-14 00:57:39 +00:00
IPCStreamDestination.h Bug 1601742 - Fix unified build with the forkserver. r=froydnj 2019-12-06 04:58:27 +00:00
IPCStreamParent.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in ipc. r=jld 2020-02-14 00:57:39 +00:00
IPCStreamSource.cpp Bug 1231213 - IPCStreamSource should not attempt to read from its stream if already closed. r=asuth 2019-08-15 17:26:05 +00:00
IPCStreamSource.h Bug 1596409 - P1.1: Make socket process support IPCStream r=dragana 2019-12-03 13:41:58 +00:00
IPCStreamUtils.cpp Bug 1596409 - P1.1: Make socket process support IPCStream r=dragana 2019-12-03 13:41:58 +00:00
IPCStreamUtils.h Bug 1629315 - Replace MOZ_MUST_USE with [[nodiscard]] in ipc. r=jld 2020-04-16 22:14:21 +00:00
IPDLParamTraits.h Bug 1626570 - Add ParamTraits for CopyableTArray. r=nika 2020-04-30 09:36:04 +00:00
IdleSchedulerChild.cpp Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj 2020-04-08 06:55:40 +00:00
IdleSchedulerChild.h Bug 1589561. Factor out idle handling from PrioritizedEventQueue. r=smaug 2019-10-20 15:08:44 +00:00
IdleSchedulerParent.cpp Bug 1563063 - Cross-process idle handling, r=farre 2019-09-24 14:33:57 +00:00
IdleSchedulerParent.h Bug 1563063 - Cross-process idle handling, r=farre 2019-09-24 14:33:57 +00:00
InProcessChild.h Bug 1570369 - Part 10: Use IPDL refcounted for PInProcess, r=farre 2019-08-08 16:46:44 +00:00
InProcessImpl.cpp Bug 1611415 - Prefer using std::move over forget. r=froydnj 2020-02-13 14:38:48 +00:00
InProcessParent.h Bug 1570369 - Part 10: Use IPDL refcounted for PInProcess, r=farre 2019-08-08 16:46:44 +00:00
InputStreamParams.ipdlh
InputStreamUtils.cpp Bug 1606901 - P2. Abort should we failed at creating IPCStreamSource. r=mattwoodrow 2020-02-04 21:58:50 +00:00
InputStreamUtils.h Bug 1596409 - P1.1: Make socket process support IPCStream r=dragana 2019-12-03 13:41:58 +00:00
LibrarySandboxPreload.cpp Bug 1626174 - Enable use of wasm sandboxed libOgg in the OggDemuxer in linux, mac, try servers r=padenot,erahm,dmajor,firefox-build-system-reviewers 2020-04-22 11:16:10 +00:00
LibrarySandboxPreload.h Bug 1626174 - Enable use of wasm sandboxed libOgg in the OggDemuxer in linux, mac, try servers r=padenot,erahm,dmajor,firefox-build-system-reviewers 2020-04-22 11:16:10 +00:00
MessageChannel.cpp Bug 1631358 - remove CPOW support in the message manager, r=mccr8 2020-04-21 14:07:57 +00:00
MessageChannel.h Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown 2020-02-27 17:39:15 +00:00
MessageLink.cpp Bug 1542884 - Close message channel on failure to connect to the pipe; r=jld 2020-03-02 23:14:15 +00:00
MessageLink.h Bug 1557739 - Be more consistent with IPC Transport APIs, r=jld 2020-02-06 22:41:56 +00:00
MessagePump.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in ipc. r=jld 2020-02-14 00:57:39 +00:00
MessagePump.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in ipc. r=jld 2020-02-14 00:57:39 +00:00
MiniTransceiver.cpp Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2020-01-09 21:50:11 +00:00
MiniTransceiver.h Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2020-01-09 21:50:11 +00:00
Neutering.h
PBackground.ipdl Bug 1512471 - Introduce PVerifySSLServerCert for the certificate verification r=keeler,jld 2020-02-28 10:58:56 +00:00
PBackgroundSharedTypes.ipdlh Bug 1627859 - De-duplicate ContentSecurityPolicy IPDL structs. r=ckerschb 2020-04-10 22:14:16 +00:00
PBackgroundTest.ipdl
PChildToParentStream.ipdl Bug 1596409 - P1.1: Make socket process support IPCStream r=dragana 2019-12-03 13:41:58 +00:00
PFileDescriptorSet.ipdl Bug 1596409 - P1.1: Make socket process support IPCStream r=dragana 2019-12-03 13:41:58 +00:00
PIdleScheduler.ipdl Bug 1563063 - Cross-process idle handling, r=farre 2019-09-24 14:33:57 +00:00
PInProcess.ipdl Bug 1570369 - Part 10: Use IPDL refcounted for PInProcess, r=farre 2019-08-08 16:46:44 +00:00
PParentToChildStream.ipdl Bug 1596409 - P1.1: Make socket process support IPCStream r=dragana 2019-12-03 13:41:58 +00:00
ProcessChild.cpp Bug 1606880 - Implement fast shutdown prefs r=froydnj 2020-01-29 12:29:43 +00:00
ProcessChild.h
ProcessUtils.h Bug 1479960 - Get rid of base::SharedMemory::handle. r=froydnj 2019-08-14 22:48:22 +00:00
ProcessUtils_bsd.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
ProcessUtils_common.cpp Bug 1479960 - Get rid of base::SharedMemory::handle. r=froydnj 2019-08-14 22:48:22 +00:00
ProcessUtils_linux.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
ProcessUtils_mac.mm Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
ProcessUtils_none.cpp Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
ProtocolTypes.ipdlh
ProtocolUtils.cpp Bug 1620594 - Part 7: Remove TabGroup and SystemGroup. r=nika,bas 2020-04-07 15:17:47 +00:00
ProtocolUtils.h Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown 2020-02-27 17:39:15 +00:00
ScopedXREEmbed.cpp
ScopedXREEmbed.h
SharedMemory.cpp Bug 1613985 - Use default for equivalent-to-default constructors/destructors in ipc. r=jld 2020-02-14 00:57:39 +00:00
SharedMemory.h Bug 1629315 - Replace MOZ_MUST_USE with [[nodiscard]] in ipc. r=jld 2020-04-16 22:14:21 +00:00
SharedMemoryBasic.h
SharedMemoryBasic_android.cpp Bug 1598068 - Add ashmem abstraction to mozglue and use it everywhere r=glandium,jld 2020-03-06 19:04:49 +00:00
SharedMemoryBasic_android.h
SharedMemoryBasic_chromium.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in ipc. r=jld 2020-02-14 00:57:39 +00:00
SharedMemoryBasic_mach.h Bug 1567209 - CleanupForPid locking r=jld 2019-10-25 05:17:54 +00:00
SharedMemoryBasic_mach.mm Bug 1567209 - CleanupForPid locking r=jld 2019-10-25 05:17:54 +00:00
SharedMemory_posix.cpp Bug 1479960 - Add unit tests for shared memory freezing. r=froydnj 2019-08-14 22:48:52 +00:00
SharedMemory_windows.cpp Bug 1479960 - Add unit tests for shared memory freezing. r=froydnj 2019-08-14 22:48:52 +00:00
Shmem.cpp
Shmem.h Bug 1613985 - Use default for equivalent-to-default constructors/destructors in ipc. r=jld 2020-02-14 00:57:39 +00:00
StringUtil.cpp
TaintingIPCUtils.h Bug 1610017 - Actually taint data when tainted is specified for IPC methods r=nika 2020-02-21 17:24:17 +00:00
TaskFactory.h Bug 1609996 - Remove mozilla/Move.h. r=froydnj 2020-01-20 16:18:20 +00:00
Transport.h
TransportSecurityInfoUtils.cpp Bug 1611415 - Prefer using std::move over forget. r=froydnj 2020-02-13 14:38:48 +00:00
TransportSecurityInfoUtils.h Bug 1592083 - Convert certList to raw array for nsITransportSecurityInfo r=keeler,Ehsan,kershaw 2019-10-29 17:20:07 +00:00
Transport_posix.cpp Bug 1577831 - remove `using namespace std;` from IPC glue code; r=jld 2019-08-31 00:00:12 +00:00
Transport_posix.h
Transport_win.cpp Bug 1577831 - remove `using namespace std;` from IPC glue code; r=jld 2019-08-31 00:00:12 +00:00
Transport_win.h
URIParams.ipdlh Bug 1561860 - Add rust-url based nsIURI implementation r=JuniorHsu 2019-12-11 20:17:53 +00:00
URIUtils.cpp Bug 1561860 - Add rust-url based nsIURI implementation r=JuniorHsu 2019-12-11 20:17:53 +00:00
URIUtils.h Bug 1547218 - Part 2: Stop special casing pointer types in ParamTraits specialization, r=froydnj 2019-05-21 17:04:39 +00:00
WindowsMessageLoop.cpp Bug 1628715 - Part 7: Add MOZ_NONNULL_RETURN to infallible nsTArray::AppendElements. r=xpcom-reviewers,necko-reviewers,nika,valentin 2020-04-24 13:31:14 +00:00
WindowsMessageLoop.h Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj 2020-02-20 11:40:14 +00:00
components.conf Bug 1620745 - Bring up fork server launcher at app-startup. r=gsvelto 2020-03-18 01:01:17 +00:00
moz.build Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj 2020-04-08 06:55:40 +00:00
nsIIPCSerializableInputStream.h Bug 1596409 - P1.1: Make socket process support IPCStream r=dragana 2019-12-03 13:41:58 +00:00