Remove arbitrary NPAPI plugin whitelist for 64-bit.

This resolves #204.
This commit is contained in:
wolfbeast
2017-11-27 12:22:09 +01:00
committed by Roy Tam
parent af7ea97322
commit 62de792edf
-40
View File
@@ -2024,45 +2024,9 @@ struct CompareFilesByTime
} // namespace
bool
nsPluginHost::ShouldAddPlugin(nsPluginTag* aPluginTag)
{
#if defined(XP_WIN) && (defined(__x86_64__) || defined(_M_X64))
// On 64-bit windows, the only plugins we should load are flash and
// silverlight. Use library filename and MIME type to check.
if (StringBeginsWith(aPluginTag->FileName(), NS_LITERAL_CSTRING("NPSWF"), nsCaseInsensitiveCStringComparator()) &&
(aPluginTag->HasMimeType(NS_LITERAL_CSTRING("application/x-shockwave-flash")) ||
aPluginTag->HasMimeType(NS_LITERAL_CSTRING("application/x-shockwave-flash-test")))) {
return true;
}
if (StringBeginsWith(aPluginTag->FileName(), NS_LITERAL_CSTRING("npctrl"), nsCaseInsensitiveCStringComparator()) &&
(aPluginTag->HasMimeType(NS_LITERAL_CSTRING("application/x-silverlight-test")) ||
aPluginTag->HasMimeType(NS_LITERAL_CSTRING("application/x-silverlight-2")) ||
aPluginTag->HasMimeType(NS_LITERAL_CSTRING("application/x-silverlight")))) {
return true;
}
// Accept the test plugin MIME types, so mochitests still work.
if (aPluginTag->HasMimeType(NS_LITERAL_CSTRING("application/x-test")) ||
aPluginTag->HasMimeType(NS_LITERAL_CSTRING("application/x-Second-Test")) ||
aPluginTag->HasMimeType(NS_LITERAL_CSTRING("application/x-java-test"))) {
return true;
}
#ifdef PLUGIN_LOGGING
PLUGIN_LOG(PLUGIN_LOG_NORMAL,
("ShouldAddPlugin : Ignoring non-flash plugin library %s\n", aPluginTag->FileName().get()));
#endif // PLUGIN_LOGGING
return false;
#else
return true;
#endif // defined(XP_WIN) && (defined(__x86_64__) || defined(_M_X64))
}
void
nsPluginHost::AddPluginTag(nsPluginTag* aPluginTag)
{
if (!ShouldAddPlugin(aPluginTag)) {
return;
}
aPluginTag->mNext = mPlugins;
mPlugins = aPluginTag;
@@ -3192,10 +3156,6 @@ nsPluginHost::ReadPluginInfo()
MOZ_LOG(nsPluginLogging::gPluginLog, PLUGIN_LOG_BASIC,
("LoadCachedPluginsInfo : Loading Cached plugininfo for %s\n", tag->FileName().get()));
if (!ShouldAddPlugin(tag)) {
continue;
}
tag->mNext = mCachedPlugins;
mCachedPlugins = tag;
}