Unify all DLL blocklists
Categories
(Firefox :: General, task, P2)
Tracking
()
People
(Reporter: bugzilla, Assigned: bugzilla)
References
(Blocks 1 open bug)
Details
(Whiteboard: inj+)
Attachments
(6 files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
Assignee | ||
Comment 1•6 years ago
|
||
Assignee | ||
Comment 2•6 years ago
|
||
Comment 3•6 years ago
|
||
Moving to p2 because no activity for at least 24 weeks.
See How Do You Triage for more information
Assignee | ||
Comment 4•5 years ago
•
|
||
Morphing this into the "blocklist unification" bug. The idea here is that I want a single in-tree location for blocklist descriptors of all types. We add a Python script to the build system that reads this unified descriptor file and generates the appropriate sources for each type. Each generated descriptor file will be sorted so that we can do a binary search.
Initial descriptor types:
- All process DLL Blocks
- Parent Process DLL Blocks
- Child Process DLL Blocks
- Winsock LSPs
- A11y clients (DLLs only)
(Note that the resulting lists generated by the script should contain the union of applicable descriptor types. eg the child process descriptors would be the union of the all process list and the child process list.)
Assignee | ||
Comment 5•5 years ago
|
||
Assignee | ||
Comment 6•5 years ago
|
||
Assignee | ||
Comment 7•5 years ago
|
||
(Adding build peers for the moz.build bits, Kirk for the script itself. Build
peers, please let me know if there's a better way to do this moz.build stuff -
I basically cribbed this from a script being used in a11y.)
As we are increasingly moving toward enabling new types of DLL blocking across
our various process types, we need to be able to generate various headers in
various distinct formats.
This script enables us to use a unified DLL blocklist input that generates
these distinct headers. From WindowsDllBlocklistDefs.in, we generate:
WindowsDllBlocklistA11yDefs.h - definitions for a11y
WindowsDllBlocklistLauncherDefs.h - definitions for the launcher process
WindowsDllBlocklistLegacyDefs.h - definitions for the legacy mozglue blocklist
WindowsDllBlocklistTestDefs.h - test-only definitions
These headers are then exported to mozilla.
Note that not all headers use the same format, as not all consumers of these
headers have identical workings. There will be additional header types added
in the future which diverge even more from the standard blocklist format. While
this work may seem a bit pointless at the moment, it will become more necessary
in the future. In particular, this work is a prerequisite for bug 1238735.
Assignee | ||
Comment 8•5 years ago
|
||
Depends on D36993
Assignee | ||
Comment 9•5 years ago
|
||
Depends on D36994
Assignee | ||
Comment 10•5 years ago
|
||
Depends on D36997
Assignee | ||
Comment 11•5 years ago
|
||
Depends on D36998
Assignee | ||
Comment 12•5 years ago
|
||
Even though a11y DLLs are not strictly "DLL blocking," I felt that it would
make sense to include them in our unified DLL blocklist. This patch delegates
much of that functionality to the unified blocklist code. Going forward, any
further blocklist entries for in-proc a11y DLLs should be added to
mozglue/build/WindowsDllBlocklistDefs.in via the A11yBlocklistEntry type.
Depends on D36999
Updated•5 years ago
|
Updated•5 years ago
|
Comment 13•5 years ago
|
||
Comment 14•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/c0e1adc0859f
https://hg.mozilla.org/mozilla-central/rev/e8b597c78ba8
https://hg.mozilla.org/mozilla-central/rev/9c9292604ddd
https://hg.mozilla.org/mozilla-central/rev/8068c6996798
https://hg.mozilla.org/mozilla-central/rev/630c3c12aee9
https://hg.mozilla.org/mozilla-central/rev/71000a40a923
Updated•5 years ago
|
Description
•