Closed Bug 1575726 Opened 5 years ago Closed 4 years ago

Remove Mac child process interpose code

Categories

(Core Graveyard :: Plug-ins, enhancement, P3)

Unspecified
macOS
enhancement

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1682030

People

(Reporter: haik, Unassigned)

References

Details

On Mac, we use DYLD_INSERT_LIBRARIES when launching child processes[1] to load libplugin_child_interpose.dylib as an interposition library.

From plugin_child_interpose.mm[2],

// These hooks are needed to make certain OS calls work from the child process
// (a background process) that would normally only work when called in the
// parent process (the foreground process).  They allow us to serialize
// information from the child process to the parent process, so that the same
// (or equivalent) calls can be made from the parent process.

This was added in bug 1185084 for NPAPI plugins such as Silverlight and Flash, but now the only supported plugin is Flash. Once Flash support is removed from the tree, the interpose code should also be removed.

I'm going to mark this bug as blocked by the Flash removal bug however we might be able to remove this code first. After some quick testing without libplugin_child_interpose.dylib, I didn't notice any problems with Flash. We should investigate if this is still needed by Flash. Removing this gets us one step closer to blocking the use of dyld variables such as DYLD_INSERT_LIBRARIES which allows libraries to be injected into Firefox.

  1. https://searchfox.org/mozilla-central/rev/597a69c70a5cce6f42f159eb54ad1ef6745f5432/ipc/glue/GeckoChildProcessHost.cpp#1043-1051
  2. https://searchfox.org/mozilla-central/rev/597a69c70a5cce6f42f159eb54ad1ef6745f5432/dom/plugins/ipc/interpose/plugin_child_interpose.mm#15-19
Assignee: nobody → haftandilian
Priority: -- → P3
No longer blocks: 1562756
Assignee: haftandilian → nobody
No longer depends on: remove-plugin-support

Handling this as part of clearing all of NPAPI.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → DUPLICATE
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.