⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 243784 in webkit


Ignore:
Timestamp:
Apr 2, 2019, 8:24:29 PM (7 years ago)
Author:
ggaren@apple.com
Message:

Eliminate plugin sandbox exceptions
https://bugs.webkit.org/show_bug.cgi?id=196510

Reviewed by Chris Dumez.

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::PluginProcess::initializeSandbox):

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::PluginInfoStore::shouldAllowPluginToRunUnsandboxed): Deleted.

  • UIProcess/Plugins/PluginInfoStore.h:
  • UIProcess/Plugins/mac/PluginInfoStoreMac.mm:

(WebKit::PluginInfoStore::shouldUsePlugin):
(WebKit::PluginInfoStore::shouldAllowPluginToRunUnsandboxed): Deleted.

Location:
trunk/Source/WebKit
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r243767 r243784  
     12019-04-02  Geoffrey Garen  <ggaren@apple.com>
     2
     3        Eliminate plugin sandbox exceptions
     4        https://bugs.webkit.org/show_bug.cgi?id=196510
     5
     6        Reviewed by Chris Dumez.
     7
     8        * PluginProcess/mac/PluginProcessMac.mm:
     9        (WebKit::PluginProcess::initializeSandbox):
     10        * UIProcess/Plugins/PluginInfoStore.cpp:
     11        (WebKit::PluginInfoStore::shouldAllowPluginToRunUnsandboxed): Deleted.
     12        * UIProcess/Plugins/PluginInfoStore.h:
     13        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
     14        (WebKit::PluginInfoStore::shouldUsePlugin):
     15        (WebKit::PluginInfoStore::shouldAllowPluginToRunUnsandboxed): Deleted.
     16
    1172019-04-02  Alex Christensen  <achristensen@webkit.org>
    218
  • trunk/Source/WebKit/PluginProcess/mac/PluginProcessMac.mm

    r242325 r243784  
    475475    }
    476476
    477     if (PluginInfoStore::shouldAllowPluginToRunUnsandboxed(m_pluginBundleIdentifier))
    478         return;
    479 
    480477    bool parentIsSandboxed = parameters.connectionIdentifier.xpcConnection && connectedProcessIsSandboxed(parameters.connectionIdentifier.xpcConnection.get());
    481478
  • trunk/Source/WebKit/UIProcess/Plugins/PluginInfoStore.cpp

    r239427 r243784  
    160160#if !PLATFORM(COCOA)
    161161
    162 bool PluginInfoStore::shouldAllowPluginToRunUnsandboxed(const String& pluginBundleIdentifier)
    163 {
    164     UNUSED_PARAM(pluginBundleIdentifier);
    165     return false;
    166 }
    167 
    168162PluginModuleLoadPolicy PluginInfoStore::defaultLoadPolicyForPlugin(const PluginModuleInfo&)
    169163{
  • trunk/Source/WebKit/UIProcess/Plugins/PluginInfoStore.h

    r239427 r243784  
    6565    void clearSupportedPlugins() { m_supportedPlugins = WTF::nullopt; }
    6666
    67     static bool shouldAllowPluginToRunUnsandboxed(const String& pluginBundleIdentifier);
    68 
    6967private:
    7068    PluginModuleInfo findPluginForMIMEType(const String& mimeType, WebCore::PluginData::AllowedPluginTypes) const;
  • trunk/Source/WebKit/UIProcess/Plugins/mac/PluginInfoStoreMac.mm

    r236322 r243784  
    8484}
    8585
    86 bool PluginInfoStore::shouldAllowPluginToRunUnsandboxed(const String& pluginBundleIdentifier)
    87 {
    88     if (RuntimeEnabledFeatures::sharedFeatures().experimentalPlugInSandboxProfilesEnabled())
    89         return false;
    90 
    91     return pluginBundleIdentifier == "com.cisco.webex.plugin.gpc64"_s
    92         || pluginBundleIdentifier == "com.google.googletalkbrowserplugin"_s
    93         || pluginBundleIdentifier == "com.google.o1dbrowserplugin"_s
    94         || pluginBundleIdentifier == "com.apple.NPSafeInput"_s
    95         || pluginBundleIdentifier == "com.apple.BocomSubmitCtrl"_s
    96         || pluginBundleIdentifier == "com.ftsafe.NPAPI-Core-Safe-SoftKeybaord.plugin.rfc1034identifier"_s
    97         || pluginBundleIdentifier == "com.cfca.npSecEditCtl.MAC.BOC.plugin"_s
    98         || pluginBundleIdentifier == "com.cfca.npSecEditCtl.MAC.BOCO"_s
    99         || pluginBundleIdentifier == "cfca.com.npCryptoKit.MAC.BOC"_s
    100         || pluginBundleIdentifier == "cfca.com.npP11CertEnroll.MAC.BOC"_s
    101         || pluginBundleIdentifier == "cfca.com.npCryptoKit.UnionPay.MAC"_s
    102         || pluginBundleIdentifier == "cfca.com.npP11CertEnroll.MAC.UnionPay"_s
    103         || pluginBundleIdentifier == "Bocom.netsignplugin"_s
    104         || pluginBundleIdentifier == "cfca.com.npP11CertEnroll.MAC.CGB"_s
    105         || pluginBundleIdentifier == "cfca.com.npCryptoKit.CGB.MAC"_s
    106         || pluginBundleIdentifier == "mw.icbc-safari-MW"_s;
    107 }
    108 
    10986bool PluginInfoStore::shouldUsePlugin(Vector<PluginModuleInfo>& alreadyLoadedPlugins, const PluginModuleInfo& plugin)
    11087{
     
    128105    }
    129106
    130     if (currentProcessIsSandboxed() && !plugin.hasSandboxProfile && !shouldAllowPluginToRunUnsandboxed(plugin.bundleIdentifier)) {
     107    if (currentProcessIsSandboxed() && !plugin.hasSandboxProfile) {
    131108        LOG(Plugins, "Ignoring unsandboxed plug-in %s", plugin.bundleIdentifier.utf8().data());
    132109        return false;
Note: See TracChangeset for help on using the changeset viewer.