Closed
Bug 1854117
Opened 1 year ago
Closed 1 year ago
The headers with the DLL blocklists are not generated deterministically
Categories
(Firefox :: General, enhancement)
Tracking
()
RESOLVED
FIXED
120 Branch
Tracking | Status | |
---|---|---|
firefox120 | --- | fixed |
People
(Reporter: pierov, Assigned: pierov)
References
Details
Attachments
(1 file)
For Tor Browser we started distributing the dist/include
directory with the debug symbols, and we noticed that the DLL blocklist headers (in the code introduced probably by Bug 1483687) are not generated deterministically.
For example, this is the difference between two otherwise reproducible builds:
diff '--color=auto' -rupN debug-richard/include/mozilla/WindowsDllBlocklistLauncherDefs.h debug-pierov/include/mozilla/WindowsDllBlocklistLauncherDefs.h
--- debug-richard/include/mozilla/WindowsDllBlocklistLauncherDefs.h 2023-08-08 07:11:00.000000000 +0200
+++ debug-pierov/include/mozilla/WindowsDllBlocklistLauncherDefs.h 2023-08-08 07:11:00.000000000 +0200
@@ -13,7 +13,7 @@ DLL_BLOCKLIST_DEFINITIONS_BEGIN
DLL_BLOCKLIST_ENTRY("activedetect32.dll", DllBlockInfo::UNVERSIONED)
DLL_BLOCKLIST_ENTRY("activedetect64.dll", DllBlockInfo::UNVERSIONED)
DLL_BLOCKLIST_ENTRY("asuswsshellext64.dll", MAKE_VERSION(1, 1, 0, 27), mozilla::DllBlockInfoFlags::BROWSER_PROCESS_ONLY)
- DLL_BLOCKLIST_ENTRY("aswhook.dll", DllBlockInfo::ALL_VERSIONS, mozilla::DllBlockInfoFlags::UTILITY_PROCESSES_ONLY | mozilla::DllBlockInfoFlags::BLOCK_WIN7_AND_OLDER)
+ DLL_BLOCKLIST_ENTRY("aswhook.dll", DllBlockInfo::ALL_VERSIONS, mozilla::DllBlockInfoFlags::BLOCK_WIN7_AND_OLDER | mozilla::DllBlockInfoFlags::UTILITY_PROCESSES_ONLY)
DLL_BLOCKLIST_ENTRY("aswjsflt.dll", MAKE_VERSION(18, 0, 1473, 0), mozilla::DllBlockInfoFlags::BROWSER_PROCESS_ONLY)
DLL_BLOCKLIST_ENTRY("atkdx11disp.dll", DllBlockInfo::ALL_VERSIONS)
DLL_BLOCKLIST_ENTRY("audiodevprops2.dll", MAKE_VERSION(2, 6, 14, 0), mozilla::DllBlockInfoFlags::BROWSER_PROCESS_ONLY)
diff '--color=auto' -rupN debug-richard/include/mozilla/WindowsDllBlocklistLegacyDefs.h debug-pierov/include/mozilla/WindowsDllBlocklistLegacyDefs.h
--- debug-richard/include/mozilla/WindowsDllBlocklistLegacyDefs.h 2023-08-08 07:11:00.000000000 +0200
+++ debug-pierov/include/mozilla/WindowsDllBlocklistLegacyDefs.h 2023-08-08 07:11:00.000000000 +0200
@@ -13,7 +13,7 @@ DLL_BLOCKLIST_DEFINITIONS_BEGIN
DLL_BLOCKLIST_ENTRY("activedetect32.dll", DllBlockInfo::UNVERSIONED)
DLL_BLOCKLIST_ENTRY("activedetect64.dll", DllBlockInfo::UNVERSIONED)
DLL_BLOCKLIST_ENTRY("asuswsshellext64.dll", MAKE_VERSION(1, 1, 0, 27), mozilla::DllBlockInfoFlags::BROWSER_PROCESS_ONLY)
- DLL_BLOCKLIST_ENTRY("aswhook.dll", DllBlockInfo::ALL_VERSIONS, mozilla::DllBlockInfoFlags::UTILITY_PROCESSES_ONLY | mozilla::DllBlockInfoFlags::BLOCK_WIN7_AND_OLDER)
+ DLL_BLOCKLIST_ENTRY("aswhook.dll", DllBlockInfo::ALL_VERSIONS, mozilla::DllBlockInfoFlags::BLOCK_WIN7_AND_OLDER | mozilla::DllBlockInfoFlags::UTILITY_PROCESSES_ONLY)
DLL_BLOCKLIST_ENTRY("aswjsflt.dll", MAKE_VERSION(18, 0, 1473, 0), mozilla::DllBlockInfoFlags::BROWSER_PROCESS_ONLY)
DLL_BLOCKLIST_ENTRY("atkdx11disp.dll", DllBlockInfo::ALL_VERSIONS)
DLL_BLOCKLIST_ENTRY("audiodevprops2.dll", MAKE_VERSION(2, 6, 14, 0), mozilla::DllBlockInfoFlags::BROWSER_PROCESS_ONLY)
I believe the cause is that flags are stored in a Python set
, which is not ordered.
I tried to sort it before outputting them, and it seems to work and keep the flags in alphabetical order.
Assignee | ||
Comment 1•1 year ago
|
||
Pushed by dtownsend@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/899c6f2ac5f7
Sort the DLL blocklist flags. r=mossop,win-reviewers,gstoll
Comment 3•1 year ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 1 year ago
status-firefox120:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 120 Branch
You need to log in
before you can comment on or make changes to this bug.
Description
•