The EME architecture got uplifted to Firefox 37 (https://bugzilla.mozilla.org/show_bug.cgi?id=1137045) and is included in ESR 38 as well. We should make sure there are no accompanying tracking/fingerprinting risks. The best plan is probably to disable EME as Mozilla is doing in its ESR 38 release. We may need a custom patch as Mozilla is basically enabling it
While we may want to take a deeper look at it when we switch to ESR 45 we should make sure that everything related to EME is really disabled if the respective prefs are set to false.
Designs
Child items 0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items 0
Link issues together to show that they're related.
Learn more.
Trac: Description: The EME architecture got uplifted to Firefox 37 (https://bugzilla.mozilla.org/show_bug.cgi?id=1137045) in is included in ESR 38 as well. We should make sure there are no accompanying tracking/fingerprinting risks. The best plan is probably to disable EME as Mozilla is doing in its ESR 38 release. We may need a custom patch as Mozilla is basically enabling it
While we may want to take a deeper look at it when we switch to ESR 45 we should make sure that everything related to EME is really disabled if the respective prefs are set to false
to
The EME architecture got uplifted to Firefox 37 (https://bugzilla.mozilla.org/show_bug.cgi?id=1137045) in is included in ESR 38 as well. We should make sure there are no accompanying tracking/fingerprinting risks. The best plan is probably to disable EME as Mozilla is doing in its ESR 38 release. We may need a custom patch as Mozilla is basically enabling it
While we may want to take a deeper look at it when we switch to ESR 45 we should make sure that everything related to EME is really disabled if the respective prefs are set to false.
Another option would be trying to not compile it in at all in the first place which would allow us to get rid of the gmp-clearkey system which is used for testing purposes only anyway.
If you want to persuade streaming providers not to use *DRM*, it's probably easier to persuade them to move to Clear Key, which is Free Software-implementable non-DRM encryption, which is technically equivalent to HLS with keys in the clear, which is already familiar to the providers and makes stream ripping with curl or wget take more effort, than to persuade them to drop media file-level encryption completely as the first step. In that sense, having the anti-DRM constituency use a browser that doesn't have Clear Key makes it harder to get streaming providers to make a shift off-DRM, which is presumably what the anti-DRM constituency wants!
https://support.mozilla.org/en-US/kb/enable-drm has some decent info. The bottom line is there is only EME on Windows Vista+ and as we don't build any sandbox on Windows and the sandbox is needed for EME we won't get it to run on Vista+ either. Thus, I'll go with the idea in comment:4 and audit the result. As mentioned in the description we want to revisit this during the preparation for ESR 45 when we have fixed legacy/trac#16010 (moved) and https://bugzilla.mozilla.org/show_bug.cgi?id=1136707 got solved by Mozilla.
I guess we probably don't need to set all those prefs to false (because we will compile with --disable-eme), but better to be safe (and I did not look at how the prefs are used in Mozilla's code).
I guess we probably don't need to set all those prefs to false (because we will compile with --disable-eme), but better to be safe (and I did not look at how the prefs are used in Mozilla's code).
I think I must have skimmed over the commit message earlier because it did not really register in my brain. Sorry about that. In any case, your new comment in the prefs file makes things 100% clear.
gk, can you check that I've handled the conflict correctly?
Looks good.
Trac: Keywords: ff38-esr, TorBrowserTeam201506R deleted, ff45-esr, TorBrowserTeam201506 added Summary: Make sure EME is no tracking risk in Tor Browser based on ESR 38 to Make sure EME is no tracking risk in Tor Browser Status: needs_review to assigned
Trac: Severity: N/Ato Normal Sponsor: N/AtoN/A Reviewer: N/AtoN/A Keywords: GeorgKoppen201506 deleted, GeorgKoppen201605 added Description: The EME architecture got uplifted to Firefox 37 (https://bugzilla.mozilla.org/show_bug.cgi?id=1137045) in is included in ESR 38 as well. We should make sure there are no accompanying tracking/fingerprinting risks. The best plan is probably to disable EME as Mozilla is doing in its ESR 38 release. We may need a custom patch as Mozilla is basically enabling it
While we may want to take a deeper look at it when we switch to ESR 45 we should make sure that everything related to EME is really disabled if the respective prefs are set to false.
to
The EME architecture got uplifted to Firefox 37 (https://bugzilla.mozilla.org/show_bug.cgi?id=1137045) and is included in ESR 38 as well. We should make sure there are no accompanying tracking/fingerprinting risks. The best plan is probably to disable EME as Mozilla is doing in its ESR 38 release. We may need a custom patch as Mozilla is basically enabling it
While we may want to take a deeper look at it when we switch to ESR 45 we should make sure that everything related to EME is really disabled if the respective prefs are set to false.
https://support.mozilla.org/en-US/kb/enable-drm has some decent info. The bottom line is there is only EME on Windows Vista+ and as we don't build any sandbox on Windows and the sandbox is needed for EME we won't get it to run on Vista+ either. Thus, I'll go with the idea in comment:4 and audit the result. As mentioned in the description we want to revisit this during the preparation for ESR 45 when we have fixed legacy/trac#16010 (moved) and https://bugzilla.mozilla.org/show_bug.cgi?id=1136707 got solved by Mozilla.
Neither legacy/trac#16010 (moved) nor the Mozilla bug are fixed yet. Thus, I postpone revisiting our current decision. So far, for ESR45, we are still good with the things we currently have in place.
bug_16285_v4 (https://gitweb.torproject.org/user/gk/tor-browser.git/log/?h=bug_16285_v4) has three patches that adapt our code to the EME changes done between esr45 and esr52. The major change is that we don't have a switch for not compiling the code in in the first place anymore. Instead everything is bound to preferences now (even though --disable-eme is still available and should set the proper defaults).
Trac: Status: assigned to needs_review Keywords: TorBrowserTeam201705 deleted, TorBrowserTeam201705R added
Thanks. Applied to tor-browser-52.1.1esr-7.0-1 (commit 100fea03, e948ae5d, and ba7cbd18) and tor-browser-52.1.0esr-7.0-2 (commit 62546181, 46d6d3a5, and 726b6d69). Moving this ticket off our esr52 radar to the one for esr59.
Trac: Owner: gk to tbb-team Keywords: TorBrowserTeam201705R, tbb-7.0-must, ff52-esr deleted, ff59-esr, TorBrowserTeam201705 added Status: needs_review to assigned
Seem I forgot to remove the library stripping we do in the Linux descriptor. This is fixed with commit e8d869e142439436104b8b1f8b807406fd68e104 on master.
Seem I forgot to remove the library stripping we do in the Linux descriptor. This is fixed with commit e8d869e142439436104b8b1f8b807406fd68e104 on master.
Which needed a fixup, sigh: commit c18c6f80c49d7da97d006d3fd5201b11f1312bbc.
For 68esr, it looks like we are still good here. We don't need the adobe prefs anymore (since Bug 1329543).
From legacy/trac#31880 (moved), we found --disable-eme still prevents enabling EME on desktop builds. When EME is enabled (using --enable-eme), the content decryption module (CDM) must be specified. Mozilla only support --enable-eme=widevine in 68esr.
By default, the following prefs are not defined:
media.gmp-widevinecdm.visible and media.gmp-widevinecdm.enabled
When configured with --enable-eme=widevine, then media.gmp-widevinecdm.visible, media.gmp-widevinecdm.enabled, and browser.eme.ui.enabled are set true.
We set --disable-eme on desktops and these prefs are overwritten as false.
If, in addition to these prefs, media.eme.enabled is false and the CDM is not ClearKey, then the code path aborts early and it doesn't download the file from a remote server.
On Android, it's more interesting. legacy/trac#31880 (moved) didn't yield any interesting results because nothing is changed at compile-time. Fennec and GeckoView use the Android system DRM support when it is available. This is controlled separately by media.mediadrm-widevinecdm.visible.
I'll write a fixup patch that removes the old Adobe CDM prefs and adds the Android pref.