Commit Graph

8 Commits

Author SHA1 Message Date
Aaron Klotz
7894fa6da8 Bug 1460022: Part 5 - Update launcher process to work with new DLL interceptor interface; r=mhowell 2018-06-27 11:49:30 -06:00
shindli
3ffa44b530 Backed out 13 changesets (bug 1460022) for bustages in :/build/build/src/mozglue/tests/interceptor/TestDllInterceptor.cpp(113) on a CLOSED TREE
Backed out changeset b798c3689bbf (bug 1460022)
Backed out changeset c3b3b854affd (bug 1460022)
Backed out changeset ecb1b6fd3134 (bug 1460022)
Backed out changeset 91fed649dd5a (bug 1460022)
Backed out changeset be7032cddad2 (bug 1460022)
Backed out changeset d4a036b976e6 (bug 1460022)
Backed out changeset 5f3dfde41e38 (bug 1460022)
Backed out changeset a16486a6f685 (bug 1460022)
Backed out changeset 69eacc5c3ab8 (bug 1460022)
Backed out changeset 34aa7c29b31e (bug 1460022)
Backed out changeset 00b20c0a7637 (bug 1460022)
Backed out changeset b8e8aea4a01f (bug 1460022)
Backed out changeset 15822d9848d8 (bug 1460022)
2018-07-04 03:37:11 +03:00
Aaron Klotz
c772ab17a2 Bug 1460022: Part 5 - Update launcher process to work with new DLL interceptor interface; r=mhowell 2018-06-27 11:49:30 -06:00
shindli
3c15ba6c22 Backed out 13 changesets (bug 1460022) for bustages in builds/worker/workspace/build/src/dom/plugins/ipc/FunctionHook.h💯24 on a CLOSED TREE
Backed out changeset 0734142a3f35 (bug 1460022)
Backed out changeset 18fbfa7ca685 (bug 1460022)
Backed out changeset 2df129bd5692 (bug 1460022)
Backed out changeset 02a7ed68933f (bug 1460022)
Backed out changeset 221137d1c2de (bug 1460022)
Backed out changeset 9cb0b7a15402 (bug 1460022)
Backed out changeset 18f8f85c0307 (bug 1460022)
Backed out changeset 867a1351efff (bug 1460022)
Backed out changeset 933e0b698f8e (bug 1460022)
Backed out changeset 09da660071e1 (bug 1460022)
Backed out changeset 8bb5142d3f53 (bug 1460022)
Backed out changeset 0ddf581bdaac (bug 1460022)
Backed out changeset 1cd5f9b4a6af (bug 1460022)
2018-07-04 02:49:24 +03:00
Aaron Klotz
4de78ecd10 Bug 1460022: Part 5 - Update launcher process to work with new DLL interceptor interface; r=mhowell 2018-06-27 11:49:30 -06:00
Aaron Klotz
9be4491e72 Bug 1445025: Part 5 - Implement a Native NT version of the DLL blocklist; r=mhowell
This version of the blocklist should be functionally comparable to the mozglue
based blocklist, except:

* We hook NtMapViewOfSection instead of LdrLoadDll: The former allows us to
  easily obtain the module file name being used for the load. The latter
  requires us to essentially emulate the loader's path searching, which is
  a perf hit, potentially a correctness issue, and more work to do given the
  limited native NT API set.

* Since the paths in native NT land are all unicode, and since this code is
  critical to startup performance, this version of the blocklist uses unicode
  strings instead of ASCII strings. My thoughts here are that we don't want to
  be wasting time on every DLL load doing ASCII-to-unicode conversion every
  time we want to do a blocklist string comparison.

* I am completely aware that this leaves us in a bizarre situation where we have
  two copies of the blocklist in our binaries: one unicode version in firefox.exe,
  and one ASCII version in mozglue.dll. Once we (hopefully) move to using the
  launcher process by default, the ASCII copy can go away. In the meantime, we
  need to be able to use either one depending on how Firefox was started. I am
  happy to make the Native NT blocklist Nightly-only to assuage these concerns.
2018-06-05 15:21:19 -06:00
Cosmin Sabou
3910fc311b Backed out 6 changesets (bug 1445025) for browser chrome failures on browser_checkdllblockliststate.js. CLOSED TREE
Backed out changeset a1203eb4cee9 (bug 1445025)
Backed out changeset 64b003dceafb (bug 1445025)
Backed out changeset a6cff2b478da (bug 1445025)
Backed out changeset 4dbc7fbb3361 (bug 1445025)
Backed out changeset 1ad82650ca1c (bug 1445025)
Backed out changeset 5c63001e1ce6 (bug 1445025)
2018-06-07 12:09:22 +03:00
Aaron Klotz
cfa1561fbb Bug 1445025: Part 5 - Implement a Native NT version of the DLL blocklist; r=mhowell
This version of the blocklist should be functionally comparable to the mozglue
based blocklist, except:

* We hook NtMapViewOfSection instead of LdrLoadDll: The former allows us to
  easily obtain the module file name being used for the load. The latter
  requires us to essentially emulate the loader's path searching, which is
  a perf hit, potentially a correctness issue, and more work to do given the
  limited native NT API set.

* Since the paths in native NT land are all unicode, and since this code is
  critical to startup performance, this version of the blocklist uses unicode
  strings instead of ASCII strings. My thoughts here are that we don't want to
  be wasting time on every DLL load doing ASCII-to-unicode conversion every
  time we want to do a blocklist string comparison.

* I am completely aware that this leaves us in a bizarre situation where we have
  two copies of the blocklist in our binaries: one unicode version in firefox.exe,
  and one ASCII version in mozglue.dll. Once we (hopefully) move to using the
  launcher process by default, the ASCII copy can go away. In the meantime, we
  need to be able to use either one depending on how Firefox was started. I am
  happy to make the Native NT blocklist Nightly-only to assuage these concerns.
2018-06-05 15:21:19 -06:00