Closed Bug 1386832 Opened 7 years ago Closed 7 years ago

On Linux, System extensions fail to load in local builds run outside of ./mach

Categories

(WebExtensions :: Request Handling, defect, P1)

56 Branch
Unspecified
Linux
defect

Tracking

(firefox57 fixed)

RESOLVED FIXED
mozilla57
Tracking Status
firefox57 --- fixed

People

(Reporter: haik, Assigned: haik)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

When starting a developer unpackaged local build on Linux, (e.g., running ./firefox) system extensions will encounter errors when loading resources. For example, the screenshot extension fails when 

As a workaround, set MOZ_DEVELOPER_REPO_DIR to be the path to the repo. As in

  $ MOZ_DEVELOPER_REPO_DIR=/path/to/my/mozilla-central/ ./obj/dist/bin/firefox

This problem occurs because ExtensionProtocolHandler only allows unpacked extensions to load resources outside of their extension directory if the resource resides within the repo dir. The repo dir is obtained from MOZ_DEVELOPER_REPO_DIR, but that isn't always set when Firefox is run. I'm working on a fix for this that doesn't depend on MOZ_DEVELOPER_REPO_DIR.
Assignee: nobody → haftandilian
Blocks: 1386460
Priority: -- → P1
The posted patches 1) fix the problem when firefox is run outside of ./mach without the MOZ_DEVELOPER_REPO_DIR environment variable being set and 2) make ExtensionProtocolHandler not depend on MOZ_DEVELOPER_REPO_DIR ever being set.

When the dev build security check exception was added, I expected we would always require MOZ_DEVELOPER_REPO_DIR to be set on Linux. In the end, our Linux sandboxing implementation didn't require MOZ_DEVELOPER_REPO_DIR due to how it resolves symlinks. On the Mac, the sandboxing implementation does require knowing the full path to the repo, but it is obtained from the Info.plist file, not an environment variable.
Comment on attachment 8894968 [details]
Bug 1386832 - Part 1 - Move non-sandbox-specific routines out of SandboxSettings.

https://reviewboard.mozilla.org/r/164994/#review171846
Attachment #8894968 - Flags: review?(jmathies) → review+
Comment on attachment 8894969 [details]
Bug 1386832 - Part 2 - Make Linux dev build security check exception not depend on MOZ_DEVELOPER_REPO.

https://reviewboard.mozilla.org/r/166078/#review171852
Attachment #8894969 - Flags: review?(jmathies) → review+
Pushed by haftandilian@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2779bfca2a01
Part 1 - Move non-sandbox-specific routines out of SandboxSettings. r=jimm
https://hg.mozilla.org/integration/autoland/rev/86b17cf120ca
Part 2 - Make Linux dev build security check exception not depend on MOZ_DEVELOPER_REPO. r=jimm
https://hg.mozilla.org/mozilla-central/rev/2779bfca2a01
https://hg.mozilla.org/mozilla-central/rev/86b17cf120ca
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Product: Toolkit → WebExtensions
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: