Backed out changeset f7afe86d9da5 (bug 1329563) for Windows build failures

CLOSED TREE
This commit is contained in:
Phil Ringnalda 2017-01-10 21:24:03 -08:00
Родитель 5d40c2a9cd
Коммит 810d3afda5
1 изменённых файлов: 11 добавлений и 2 удалений

Просмотреть файл

@ -68,11 +68,12 @@ struct DllBlockInfo {
enum {
FLAGS_DEFAULT = 0,
BLOCK_WIN8PLUS_ONLY = 1,
BLOCK_XP_ONLY = 2,
USE_TIMESTAMP = 4,
} flags;
};
static const DllBlockInfo sWindowsDllBlocklist[] = {
static DllBlockInfo sWindowsDllBlocklist[] = {
// EXAMPLE:
// { "uxtheme.dll", ALL_VERSIONS },
// { "uxtheme.dll", 0x0000123400000000ULL },
@ -156,6 +157,9 @@ static const DllBlockInfo sWindowsDllBlocklist[] = {
// Topcrash with Conduit SearchProtect, bug 944542
{ "spvc32.dll", ALL_VERSIONS },
// XP topcrash with F-Secure, bug 970362
{ "fs_ccf_ni_umh32.dll", MAKE_VERSION(1, 42, 101, 0), DllBlockInfo::BLOCK_XP_ONLY },
// Topcrash with V-bates, bug 1002748 and bug 1023239
{ "libinject.dll", UNVERSIONED },
{ "libinject2.dll", 0x537DDC93, DllBlockInfo::USE_TIMESTAMP },
@ -669,6 +673,11 @@ patched_LdrLoadDll (PWCHAR filePath, PULONG flags, PUNICODE_STRING moduleFileNam
goto continue_loading;
}
if ((info->flags == DllBlockInfo::BLOCK_XP_ONLY) &&
IsWin2003OrLater()) {
goto continue_loading;
}
unsigned long long fVersion = ALL_VERSIONS;
if (info->maxVersion != ALL_VERSIONS) {
@ -737,7 +746,7 @@ continue_loading:
return STATUS_DLL_NOT_FOUND;
}
if (!CheckASLR(full_fname.get())) {
if (IsVistaOrLater() && !CheckASLR(full_fname.get())) {
printf_stderr("LdrLoadDll: Blocking load of '%s'. XPCOM components must support ASLR.\n", dllName);
return STATUS_DLL_NOT_FOUND;
}