5 ms·
I want to applaud this but all that has really changed is the definition of "plugin". It has been politicized. EME requires platform-specific proprietary....
by Touche 11y ago
I want to applaud this but all that has really changed is the definition of "plugin". It has been politicized. EME requires platform-specific proprietary.... components? extensions? Let's just not call them what they are, plugins.
So the issue is, was the problem with plugins NPAPI? If so I guess we're doing better.
- cpeterso 11y agoMost NPAPI plugins are not sandboxed or auto-updated to track the plugin's latest security fixes. Adobe does have an auto-updater and sandbox for Flash. The sandbox (called Protected Mode) is only available for 32-bit Windows, so Mozilla has developed its own Flash sandbox for Win64 Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1185532 https://bugzilla.mozilla.org/show_bug.cgi?id=1185532 Firefox sandboxes EME "plugins", called Content Decryption Modules (CDMs), and hard codes a list of trusted and signed CDM DLLs. (Currently, this list is just Adobe's Primetime CDM.) Also, because plugins are system libraries, other applications can side-load random plugins into your browser. For example, OS X installs a plugin called "Default Browser Helper" that allows Safari to snoop on your default browser choice and know when Firefox is run: https://twitter.com/dougturner/status/650575548918296580 https://twitter.com/dougturner/status/650575548918296580
- bdash 11y agoThe "Default Browser" plug-in is not responsible for the notification mentioned in that tweet. The plug-in has no opportunity to execute code when Firefox is launched, only when instantiated by a web page. Besides, there's no need for a browser plug-in to detect when Firefox is run: the LaunchServices framework responsible for launching applications on OS X can simply check whether the application it is launching appears to be a web browser.
- cpeterso 11y agoThanks for the correction. The only analysis I have found is this blog post from someone at Opera (Published: 2014-04-07, Updated: 2015-08-26). Do you know when the "Default Browser Helper" plug-in is instantiated? It was shipped in OS X 10.9, so it may no longer be relevant. https://www.aeyoun.com/technote/default-browser-plugin.html https://www.aeyoun.com/technote/default-browser-plugin.html
- bdash 11y agoThe plug-in provides a scripting interface that's only available to pages hosted via HTTPS on apple.com. The scripting interface exposes whether Safari is the default browser, and allows for prompting the user to change their default browser. To my knowledge the only place this was used was a "Welcome to OS X Mavericks" page that was shown shortly after installation of that version of OS X. I doubt that it's been used since.
- josteink 11y agoThe change seems to be a transition from proprietary, but quasi-standardized technologies open to reverse-engineering, to closed, black blobs with no standards in sight. And that's not an error, that's by design. Congratulations. With HTML5 DRM and actually standardized plugins, you've now made the cross-platform thing we called web not only browser, but OS-specific. And to think TBL actually applauded this. Madness.
- dblohm7 11y agoI'm a Mozilla dev who has spent way too much time working on NPAPI over the past few years. The major problem with NPAPI IMHO is that everything is reentrant. Calls to plugins can call back into the browser, which then can call back into the plugin, ad nauseum. This is all happening on the main thread of the browser, BTW. OK, now throw out-of-process into the mix, so your IPC mechanism has to support all of this insanity, plus still integrate properly with the platform's event queue (Windows I'm looking at you). It's a stability nightmare.