Closed Bug 1598223 Opened 10 months ago Closed 10 months ago

Land the DoH Rollout add-on into browser/extensions

Categories

(Firefox :: Security, task, P1)

Desktop
All
task

Tracking

()

RESOLVED FIXED
Firefox 72
Tracking Status
firefox72 --- fixed

People

(Reporter: mcrawford, Assigned: nhnt11)

References

(Regressed 1 open bug)

Details

Attachments

(15 files, 2 obsolete files)

47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review

Add DoH Rollout add-on to the browser/extensions folder, along with a moz.build file.

Blocks: 1598218
No longer blocks: 1598221
Assignee: nobody → nhnt11
Summary: Stub out DNS-over-HTTPS Rollout System Add-on → Land the DoH Rollout add-on into browser/extensions

Draft of moving to settings api for preferences. Not necessary to land system extension, but would be nice. Prefer someone take over and test.

Adding a system add-on requires coordinating with the gofaster folks to ensure that system addon update checks work correctly:
http://firefox-source-docs.mozilla.org/toolkit/mozapps/extensions/addon-manager/SystemAddons.html

Do you expect to ship updates to this? If not, does it need to be an extension at all? Most of the code here appears to run with chrome privileges, can this just be a jsm started from BrowserGlue.jsm?

(In reply to Andrew Swan [:aswan] from comment #13)

Adding a system add-on requires coordinating with the gofaster folks to ensure that system addon update checks work correctly:
http://firefox-source-docs.mozilla.org/toolkit/mozapps/extensions/addon-manager/SystemAddons.html

Thanks for the link! I'll do the due diligence.

Do you expect to ship updates to this? If not, does it need to be an extension at all? Most of the code here appears to run with chrome privileges, can this just be a jsm started from BrowserGlue.jsm?

This is the first step of a transition plan, the plan is to have a JSM at the end of the road. For now we are landing the add-on in-tree and moving development over to m-c from Github. This will be converted to a JSM asap (depending on prioritization).

Priority: -- → P1
Attachment #9111400 - Attachment description: Bug 1598223 - Fix eslint errors in initial import. r=mixedpuppy!,maxxcrawford,bdanforth → Bug 1598223 - Fix eslint errors in initial import and some cleanup. r=mixedpuppy!,maxxcrawford,bdanforth
Attachment #9111400 - Attachment description: Bug 1598223 - Fix eslint errors in initial import and some cleanup. r=mixedpuppy!,maxxcrawford,bdanforth → Bug 1598223 - Fix issues caught by eslint in initial import. r=mixedpuppy!,maxxcrawford,bdanforth
Depends on: 1600109

Try revealed that browser_preferences_usage.js fails due to an extra 4 (on my local macOS) accesses of the pref extensions.webextensions.default-content-security-policy with my patches. Talked to mconley and came up with two workarounds:

  1. Use StaticPrefs for the webextension CSP prefs (try push: https://treeherder.mozilla.org/#/jobs?repo=try&revision=cf93be87c9937bea84644c0c253d23863b77a834)
  2. Bump the max allowed accesses of this pref in the test to 51 (try push: https://treeherder.mozilla.org/#/jobs?repo=try&revision=b9db8ecbdd3cccdf218e0af72f5ba08c240ca41b)
Attachment #9112405 - Attachment is obsolete: true

Static prefs route doesn't really work, can't add mirrored String prefs it seems.

Try push including talos jobs for bumping the max allowed accesses of this pref in the test to 51: https://treeherder.mozilla.org/#/jobs?repo=try&revision=2f110cb6744f61a1f5d0c8f346e2cd67340cc5f7

Pushed by nhnt11@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/289f65edbaea
Import doh-rollout src from github into browser/extensions. r=mixedpuppy
https://hg.mozilla.org/integration/autoland/rev/ba3625505aa9
Fix issues caught by eslint in initial import. r=mixedpuppy
https://hg.mozilla.org/integration/autoland/rev/2e01f0052e3f
Add moz.build. r=mixedpuppy
https://hg.mozilla.org/integration/autoland/rev/e7630c5ce7de
Remove Normandy study remnants. r=mixedpuppy,maxxcrawford
https://hg.mozilla.org/integration/autoland/rev/06baa550f86e
Pass an object to ExtensionPreferencesManager.getSettingsAPI instead of split arguments. r=mixedpuppy
https://hg.mozilla.org/integration/autoland/rev/a076a3ddde96
Fix scoping issues with imports in WEE api scripts. r=mixedpuppy
https://hg.mozilla.org/integration/autoland/rev/7cc7fe778ae7
Clean up experiment APIs and schemas. r=mixedpuppy,maxxcrawford
https://hg.mozilla.org/integration/autoland/rev/228ccf0ee453
Clean up background scripts. r=mixedpuppy,maxxcrawford
https://hg.mozilla.org/integration/autoland/rev/b7bc6d796b8c
Replace netChange WEE with networkStatus API. r=mixedpuppy,maxxcrawford
https://hg.mozilla.org/integration/autoland/rev/c82e86c51e6e
Clean up and fix captive portal logic. r=mixedpuppy,maxxcrawford
https://hg.mozilla.org/integration/autoland/rev/0878e4bac240
Properly abort at init if disabled. r=mixedpuppy,maxxcrawford
https://hg.mozilla.org/integration/autoland/rev/28ce51bf535d
Remove en_CA and en_GB strings - identical to en_US for now. r=maxxcrawford,flod
https://hg.mozilla.org/integration/autoland/rev/0f1d580092b7
Bump max startup accesses of webextension default CSP pref to 51. r=mconley
https://hg.mozilla.org/integration/autoland/rev/3fcb7b24eef8
Set strict_min_version to 72.0a1. r=maxxcrawford
Pushed by nhnt11@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/3eca0e7441e2
Bump version to 1.3.0. r=rhelmer
Status: NEW → ASSIGNED
Component: General → Security

(In reply to Nihanth Subramanya [:nhnt11] from comment #14)

Do you expect to ship updates to this? If not, does it need to be an extension at all? Most of the code here appears to run with chrome privileges, can this just be a jsm started from BrowserGlue.jsm?

This is the first step of a transition plan, the plan is to have a JSM at the end of the road. For now we are landing the add-on in-tree and moving development over to m-c from Github. This will be converted to a JSM asap (depending on prioritization).

Is there a follow-up bug for this effort?

Flags: needinfo?(nhnt11)

There wasn't, but I filed bug 1603779. We're targeting 75 for this change. Thanks for following up on this!

Flags: needinfo?(nhnt11)
Attachment #9111467 - Attachment is obsolete: true
Depends on: 1646916
You need to log in before you can comment on or make changes to this bug.