Commit Graph

64942 Commits

Author SHA1 Message Date
Aaron Klotz
5690759b5c Bug 1542830: Part 2 - Modify launcher process blocklist to collect information about untrusted module loads; r=mhowell
* We refactor the blocklist code. Code that may possibly run before
  initialization of the Win32 subsystem and the CRT is contained within the
  `freestanding` library.
* The `freestanding` library's static initializers are placed in their own
  section so that they may be manually invoked separately from the remaining
  initializers in the binary.
* `CheckBlockInfo` and `IsDllAllowed` are modified to return a `BlockAction`
  enum instead of a `bool`. This will be used more extensively in the future for
  LSP blocking.
* The launcher process now hooks `LdrLoadDll` in addition to
  `NtMapViewOfSection`. This is necessary so that we can collect timing
  information.
* Telemetry recorders must implement the `LoaderObserver` interface.
* `ModuleLoadFrame` is a RAII class that collects the information about the
  DLL load and dispatches the information to `LoaderObserver`s.
* The launcher process exposes an implementation of the `LoaderAPI` interface
  that may be called by either the launcher process blocklist or the legacy
  blocklist in `mozglue`.
* During startup, the launcher process implements its own `LoaderObserver`.
  Once mozglue is running, it connects its `LoaderObserver` to the launcher
  process, receives a vector containing the module load events, and then
  stores and forwards them into XUL.

Depends on D43155

Differential Revision: https://phabricator.services.mozilla.com/D43156

--HG--
rename : browser/app/winlauncher/DllBlocklistWin.cpp => browser/app/winlauncher/DllBlocklistInit.cpp
rename : browser/app/winlauncher/DllBlocklistWin.h => browser/app/winlauncher/DllBlocklistInit.h
rename : browser/app/winlauncher/DllBlocklistWin.cpp => browser/app/winlauncher/freestanding/DllBlocklist.cpp
rename : browser/app/winlauncher/DllBlocklistWin.h => browser/app/winlauncher/freestanding/DllBlocklist.h
rename : browser/app/winlauncher/moz.build => browser/app/winlauncher/freestanding/moz.build
extra : moz-landing-system : lando
2019-09-23 20:17:10 +00:00
Harry Twyford
d20b4a18cb Bug 1582329 - Correct promises in browser_urlbar_resultSpan.js. r=adw
Differential Revision: https://phabricator.services.mozilla.com/D46791

--HG--
extra : moz-landing-system : lando
2019-09-23 19:51:37 +00:00
Toshihito Kikuchi
1cc025cecd Bug 1578895 - Compare NT paths if NtOpenFile failed with STATUS_OBJECT_PATH_NOT_FOUND. r=aklotz
We compare two file ids to check the current process is launched from the same
executable.  However, our telemetry showed a number of Win7 users failed to open
a file handle of the parent process with STATUS_OBJECT_PATH_NOT_FOUND even
though we opened a process handle and retrieved a module path of the parent
process successfully.  We don't have data to explain how this happens or why
this happens only on Win7, Win10 10240, and 10586.

To mitigate this situation, this patch introduces a logic to compare NT path
strings.  The benefit from doing this is 1) we don't have to open a file handle
of a parent process executable and 2) when we get an NT path, a network drive
or a symbolic link is already solved.

This new logic is much faster, but we still compare file ids on the first
attempt to minimize the impact.  We fall back to the new logic only if we
detect the STATUS_OBJECT_PATH_NOT_FOUND failure.

Differential Revision: https://phabricator.services.mozilla.com/D45476

--HG--
extra : moz-landing-system : lando
2019-09-23 17:59:42 +00:00
Ryan VanderMeulen
3778a57619 Bug 1582724 - Update pdf.js to version 2.3.183. r=bdahl
Differential Revision: https://phabricator.services.mozilla.com/D46592

--HG--
extra : moz-landing-system : lando
2019-09-23 17:07:39 +00:00
Dan Mosedale
cb082e96f2 Bug 1581545 - Make New Tab docs reference bug to enable mach test, r=Mardak
Differential Revision: https://phabricator.services.mozilla.com/D46039

--HG--
extra : moz-landing-system : lando
2019-09-23 15:05:36 +00:00
Vijay Budhram
b8b5911e89 Bug 1572212 - Add sync side button back r=eoger,markh
Differential Revision: https://phabricator.services.mozilla.com/D46514

--HG--
extra : moz-landing-system : lando
2019-09-20 17:01:06 +00:00
ffxbld
bdeece726d No Bug, mozilla-central repo-update HSTS HPKP blocklist remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D46777

--HG--
extra : moz-landing-system : lando
2019-09-23 13:09:04 +00:00
Johann Hofmann
3ba04bcead Bug 1581415 - Add missing wrap attributes to toolbarbuttons in the protections panel. r=nhnt11
See bug 1564077 on why this is necessary.

Differential Revision: https://phabricator.services.mozilla.com/D46767

--HG--
extra : moz-landing-system : lando
2019-09-23 12:26:48 +00:00
Johann Hofmann
1489dc82e4 Bug 1578265 - Remove security.ui.identitypopup event telemetry. r=nhnt11
Differential Revision: https://phabricator.services.mozilla.com/D46752

--HG--
extra : moz-landing-system : lando
2019-09-23 12:26:03 +00:00
Francesco Lodolo (:flod)
0fe378d851 Bug 1583171 - Add new locales (ca-valencia, tl, trs) to shipped-locales r=Pike
Differential Revision: https://phabricator.services.mozilla.com/D46771

--HG--
extra : moz-landing-system : lando
2019-09-23 11:50:13 +00:00
Emilio Cobos Álvarez
2e05768081 Bug 1578379 - Make pageshow / pagehide during frame loader swaps not mess with document visibility. r=bzbarsky
Also while doing it:

 * Ensure activity observers get notified after visibility is computed already.
This is how we notify all other activity observers already, and we are
double-notifying in the case we actually get a page show _and_ a visibility
change, but this is a pre-existing problem.

 * Remove special-cases for InFrameSwap() from MediaRecorder. Now that pagehide
doesn't mess up with our visibility state the regular check just works. I
ensured I didn't regress bug 1444541.

 * Had to fix a UITour test that relied on the visibility changing back and
forth for the detached tab. It seems there's no real place in UITour that
listens to that event so we should be good.

 * Added tests, verifying that they both fail without the patch.

After this we can remove nsDocShell::InFrameSwap(), as the only caller is the
assertion, but I wanted to keep it regardless, at least for now, until this
patch has been in for a bit.

Differential Revision: https://phabricator.services.mozilla.com/D45906

--HG--
extra : moz-landing-system : lando
2019-09-23 10:16:44 +00:00
Bogdan Tara
8675cadd18 Backed out changeset d984fd004e7e (bug 1578379) for ES lint failure on browser_tab_replace_while_loading.js CLOSED TREE 2019-09-23 13:00:56 +03:00
Emilio Cobos Álvarez
10fa3b178f Bug 1578379 - Make pageshow / pagehide during frame loader swaps not mess with document visibility. r=bzbarsky
Also while doing it:

 * Ensure activity observers get notified after visibility is computed already.
This is how we notify all other activity observers already, and we are
double-notifying in the case we actually get a page show _and_ a visibility
change, but this is a pre-existing problem.

 * Remove special-cases for InFrameSwap() from MediaRecorder. Now that pagehide
doesn't mess up with our visibility state the regular check just works. I
ensured I didn't regress bug 1444541.

 * Had to fix a UITour test that relied on the visibility changing back and
forth for the detached tab. It seems there's no real place in UITour that
listens to that event so we should be good.

 * Added tests, verifying that they both fail without the patch.

After this we can remove nsDocShell::InFrameSwap(), as the only caller is the
assertion, but I wanted to keep it regardless, at least for now, until this
patch has been in for a bit.

Differential Revision: https://phabricator.services.mozilla.com/D45906

--HG--
extra : moz-landing-system : lando
2019-09-23 09:36:59 +00:00
Matthew Noorenberghe
9e2406cc05 Bug 1550631 - Include the entryPoint for navigations from about:protections to about:logins. r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D46630

--HG--
extra : moz-landing-system : lando
2019-09-22 15:15:52 +00:00
Matthew Noorenberghe
0b4eb51041 Bug 1550631 - Record telemetry for direct navigation to about:logins. r=jaws
Also remove empty `filter` query params.

Differential Revision: https://phabricator.services.mozilla.com/D46551

--HG--
extra : moz-landing-system : lando
2019-09-22 15:15:29 +00:00
Matthew Noorenberghe
280f3dd879 Bug 1581969 - Don’t activate the newSavedLogin trigger on accounts.firefox.com. r=jaws
The user may be in the process of setting up Sync so prompting to setup login Sync from a CFR would be untimely.

Differential Revision: https://phabricator.services.mozilla.com/D46252

--HG--
extra : moz-landing-system : lando
2019-09-22 09:58:47 +00:00
Jean-Yves Avenard
4986f63ec2 Bug 1575744 - P2. Add nsIProcessSwitchRequestor interface. r=mayhemer,nika
Will allow for SessionStore.jsm process switching to be used by other objects than nsHttpChannel.

Differential Revision: https://phabricator.services.mozilla.com/D46015

--HG--
extra : moz-landing-system : lando
2019-09-20 04:09:46 +00:00
shindli
d362073fc6 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-09-22 00:56:23 +03:00
shindli
921b45df78 Merge autoland to mozilla-central. a=merge 2019-09-22 00:46:56 +03:00
Brindusan Cristian
125c934a04 Backed out 8 changesets (bug 1542830) for causing Nightly bustages. a=backout
Backed out changeset 6fcb417f7ff4 (bug 1542830)
Backed out changeset 1aa253e6604a (bug 1542830)
Backed out changeset 73ec288886cd (bug 1542830)
Backed out changeset 84b903e60dc9 (bug 1542830)
Backed out changeset 8e2da9ff5f5a (bug 1542830)
Backed out changeset c4e547a6a039 (bug 1542830)
Backed out changeset 919f1af7c135 (bug 1542830)
Backed out changeset da7e775c4051 (bug 1542830)

--HG--
rename : browser/app/winlauncher/freestanding/DllBlocklist.cpp => browser/app/winlauncher/DllBlocklistWin.cpp
rename : browser/app/winlauncher/freestanding/DllBlocklist.h => browser/app/winlauncher/DllBlocklistWin.h
rename : mozglue/dllservices/Authenticode.cpp => mozglue/build/Authenticode.cpp
rename : mozglue/dllservices/Authenticode.h => mozglue/build/Authenticode.h
rename : mozglue/misc/WinUtils.h => mozglue/build/MozglueUtils.h
rename : mozglue/dllservices/WindowsDllBlocklist.cpp => mozglue/build/WindowsDllBlocklist.cpp
rename : mozglue/dllservices/WindowsDllBlocklist.h => mozglue/build/WindowsDllBlocklist.h
rename : mozglue/dllservices/WindowsDllBlocklistCommon.h => mozglue/build/WindowsDllBlocklistCommon.h
rename : mozglue/dllservices/WindowsDllBlocklistDefs.in => mozglue/build/WindowsDllBlocklistDefs.in
rename : mozglue/dllservices/WindowsDllServices.h => mozglue/build/WindowsDllServices.h
rename : mozglue/dllservices/gen_dll_blocklist_defs.py => mozglue/build/gen_dll_blocklist_defs.py
rename : toolkit/components/telemetry/docs/data/third-party-modules-ping.rst => toolkit/components/telemetry/docs/data/untrusted-modules-ping.rst
rename : toolkit/components/telemetry/tests/unit/test_ThirdPartyModulesPing.js => toolkit/components/telemetry/tests/unit/test_UntrustedModulesPing.js
rename : toolkit/xre/UntrustedModulesProcessor.cpp => toolkit/xre/ModuleEvaluator_windows.cpp
rename : toolkit/xre/UntrustedModulesProcessor.h => toolkit/xre/ModuleEvaluator_windows.h
rename : toolkit/xre/ModuleVersionInfo.cpp => toolkit/xre/ModuleVersionInfo_windows.cpp
rename : toolkit/xre/ModuleVersionInfo.h => toolkit/xre/ModuleVersionInfo_windows.h
2019-09-22 00:01:01 +03:00
arthur.iakab
78b937649f Backed out changeset 33b58a35cd4e (bug 1435915)for causing Nighlty bustages a= backout 2019-09-21 16:38:54 +03:00
arthur.iakab
b6a627c094 Merge inbound to mozilla-central. a=merge
--HG--
extra : amend_source : 39c72a7f01f9afa5abf7587d732d1e63969cc9da
2019-09-21 13:00:40 +03:00
Dorel Luca
f5e74811ca Merge mozilla-central to mozilla-inbound 2019-09-21 00:58:45 +03:00
Vijay Budhram
9ebe6010d5 Bug 1575706 - Add account sub menu to fxa toolbar menu r=eoger,markh
Differential Revision: https://phabricator.services.mozilla.com/D45725

--HG--
extra : moz-landing-system : lando
2019-09-20 17:00:51 +00:00
Matthew Noorenberghe
e4c6b38671 Bug 1582768 - Add UITour target for Logins and Passwords in the main menu. r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D46604

--HG--
extra : moz-landing-system : lando
2019-09-20 16:50:43 +00:00
Zibi Braniecki
5e03cd7ff2 Bug 1435915 - Remove preferences.properties. r=fluent-reviewers,Gijs,flod
Differential Revision: https://phabricator.services.mozilla.com/D45723

--HG--
extra : source : 33b58a35cd4e9c52f6b0969c8e28e249e2a92154
2019-09-20 15:44:55 +00:00
Andreea Pavel
31d9596a28 Backed out 8 changesets (bug 1542830) for gecko decision failure on a CLOSED TREE
DONTBUILD

Backed out changeset 4f72161be496 (bug 1542830)
Backed out changeset 7ee12138946d (bug 1542830)
Backed out changeset 9e90ee4981c6 (bug 1542830)
Backed out changeset 363039c98534 (bug 1542830)
Backed out changeset 70ffff30551a (bug 1542830)
Backed out changeset c25b7bf354d9 (bug 1542830)
Backed out changeset d156dc595b69 (bug 1542830)
Backed out changeset 9f5dbd1b2959 (bug 1542830)

--HG--
rename : browser/app/winlauncher/freestanding/DllBlocklist.cpp => browser/app/winlauncher/DllBlocklistWin.cpp
rename : browser/app/winlauncher/freestanding/DllBlocklist.h => browser/app/winlauncher/DllBlocklistWin.h
rename : mozglue/dllservices/Authenticode.cpp => mozglue/build/Authenticode.cpp
rename : mozglue/dllservices/Authenticode.h => mozglue/build/Authenticode.h
rename : mozglue/misc/WinUtils.h => mozglue/build/MozglueUtils.h
rename : mozglue/dllservices/WindowsDllBlocklist.cpp => mozglue/build/WindowsDllBlocklist.cpp
rename : mozglue/dllservices/WindowsDllBlocklist.h => mozglue/build/WindowsDllBlocklist.h
rename : mozglue/dllservices/WindowsDllBlocklistCommon.h => mozglue/build/WindowsDllBlocklistCommon.h
rename : mozglue/dllservices/WindowsDllBlocklistDefs.in => mozglue/build/WindowsDllBlocklistDefs.in
rename : mozglue/dllservices/WindowsDllServices.h => mozglue/build/WindowsDllServices.h
rename : mozglue/dllservices/gen_dll_blocklist_defs.py => mozglue/build/gen_dll_blocklist_defs.py
rename : toolkit/components/telemetry/docs/data/third-party-modules-ping.rst => toolkit/components/telemetry/docs/data/untrusted-modules-ping.rst
rename : toolkit/components/telemetry/tests/unit/test_ThirdPartyModulesPing.js => toolkit/components/telemetry/tests/unit/test_UntrustedModulesPing.js
rename : toolkit/xre/UntrustedModulesProcessor.cpp => toolkit/xre/ModuleEvaluator_windows.cpp
rename : toolkit/xre/UntrustedModulesProcessor.h => toolkit/xre/ModuleEvaluator_windows.h
rename : toolkit/xre/ModuleVersionInfo.cpp => toolkit/xre/ModuleVersionInfo_windows.cpp
rename : toolkit/xre/ModuleVersionInfo.h => toolkit/xre/ModuleVersionInfo_windows.h
2019-09-20 19:49:27 +03:00
Noemi Erli
1b40747ce1 Backed out 2 changesets (bug 1550631) for failing in browser_aaa_eventTelemetry_run_first.js
Backed out changeset 87ed1b3f9b4f (bug 1550631)
Backed out changeset 889be6c334ae (bug 1550631)
2019-09-21 08:45:02 +03:00
Zibi Braniecki
d19841f79e Bug 1435915 - Remove preferences.properties. r=fluent-reviewers,Gijs,flod
Differential Revision: https://phabricator.services.mozilla.com/D45723

--HG--
extra : moz-landing-system : lando
2019-09-20 15:44:55 +00:00
Zibi Braniecki
3e2efa20f0 Bug 1508156 - Use fluent for the default application choice section of about:preferences. r=fluent-reviewers,Gijs,flod
Differential Revision: https://phabricator.services.mozilla.com/D45622

--HG--
extra : moz-landing-system : lando
2019-09-20 20:09:42 +00:00
Matthew Noorenberghe
4283e9bb98 Bug 1582534 - about:logins: Always set the password value with .value so it's not easily visible in the Inspector. r=jaws
The previous approach of using space characters would sometimes end up causing spaces to get saved in storage and cause data loss.

Differential Revision: https://phabricator.services.mozilla.com/D46663

--HG--
extra : moz-landing-system : lando
2019-09-21 04:06:57 +00:00
Matthew Noorenberghe
b461f7947f Bug 1550631 - Include the entryPoint for navigations from about:protections to about:logins. r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D46630

--HG--
extra : moz-landing-system : lando
2019-09-20 18:29:13 +00:00
Matthew Noorenberghe
b00674a4f5 Bug 1550631 - Record telemetry for direct navigation to about:logins. r=jaws
Also remove empty `filter` query params.

Differential Revision: https://phabricator.services.mozilla.com/D46551

--HG--
extra : moz-landing-system : lando
2019-09-20 18:28:57 +00:00
Yuan Cheng
5913925d4e Bug 1576189 - The "Discard unsaved changes" pop-up is wrongly displayed after an edited login is deleted in "Edit" mode, r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D46529

--HG--
extra : moz-landing-system : lando
2019-09-21 02:19:18 +00:00
Tim Nguyen
f6434a147c Bug 1582639 - Fix browser_426329.js and browser_940307_panel_click_closure_handling.js failures.
Differential Revision: https://phabricator.services.mozilla.com/D46680

--HG--
extra : moz-landing-system : lando
2019-09-21 00:26:36 +00:00
Tim Nguyen
c87e8cb82b Bug 1582639 - Fix 'Clear Search History' menu item and clean up related code. r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D46660

--HG--
extra : moz-landing-system : lando
2019-09-21 00:27:38 +00:00
Oana Pop Rus
65d7eaa6ed Backed out changeset b510b386edff (bug 1582639) for bc failures in browser/components/search/test/browser/browser_426329.js on a CLOSED TREE 2019-09-21 03:21:54 +03:00
Kris Maglione
7dbe15f5f1 Bug 1553804: Part 5 - Fix callers which create chrome windows with content openers. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D45656

--HG--
extra : source : 301e0d883a5f39053ab02ba11133f1b23156e240
extra : histedit_source : 241111e45e10e49eb5add12e1b69689ea9783b16
2019-09-20 04:43:55 +00:00
Kris Maglione
99714a4e22 Bug 1553804: Part 4 - Make some evil tests less evil/failing. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D45329

--HG--
extra : source : acff4a6636719d9302d1a893e1f3ca392c8f99e5
extra : histedit_source : c727f4637a48f89ecb29233dba0a4aba0ed9ffd9%2Cfd70bbd8400e8aba9a4dc57956bfc9f1320e20db
2019-09-20 04:43:48 +00:00
Andreea Pavel
e18057a961 Merge mozilla-inbound to mozilla-central. a=merge 2019-09-20 12:48:30 +03:00
Daniel Varga
f0411a344a Backed out 6 changesets (bug 1553804) for browser-chrome failure at browser/base/content/test/general/browser_fullscreen-window-open.js. On a CLOSED TREE
Backed out changeset 86b3d469b4ff (bug 1553804)
Backed out changeset 301e0d883a5f (bug 1553804)
Backed out changeset acff4a663671 (bug 1553804)
Backed out changeset 1574aecf3177 (bug 1553804)
Backed out changeset 3acf056e792e (bug 1553804)
Backed out changeset 1ed250faeb2e (bug 1553804)
2019-09-20 10:09:54 +03:00
Emilio Cobos Álvarez
98014b07a8 Bug 1582617 - Split up assertions in browser_multiselect_tabs_mute_unmute.js. r=alwu
I have to debug this test and some of these are failing. It'd be good to know
which one of these fail separately.

Differential Revision: https://phabricator.services.mozilla.com/D46558

--HG--
extra : moz-landing-system : lando
2019-09-20 05:17:55 +00:00
Tim Nguyen
fe0f35121d Bug 1582639 - Fix 'Clear Search History' menu item and clean up related code. r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D46660

--HG--
extra : moz-landing-system : lando
2019-09-20 21:30:21 +00:00
Aaron Klotz
6c7b43b9c8 Bug 1542830: Part 4 - Modify mozglue to use new untrusted modules interfaces; r=mhowell
* At this point our DLL blocking infra is complicated enough that I decided to
  bite the bullet and move all of this code out of `mozglue/build` and into its
  own subdirectory, `mozglue/dllservices`.
* We delete the original `UntrustedDllsHandler` code which is now obsolete.
* We implement mozglue's `LoaderObserver`:
** When this observer registers itself with the launcher process API, it
   receives a vector containing all saved records of loaded DLLs that happened
   until that moment.
** This code handles profiler labels and stackwalking suppression.
** Once a load has completed, we either pass the load on to XUL for further
   processing, or save it for later if XUL is not initialized yet.
* mozglue has its own `ModuleLoadFrame` implementation for the legacy blocklist.
* `DllServicesBase` is updated to support the new interfaces.
* We implement `FallbackLoaderAPI` for `plugin-container`, `xpcshell`, and
  any other non-`firefox` processes that do not have a launcher process
  providing a loader API.
* We add some wide to UTF8 conversion functions.

Differential Revision: https://phabricator.services.mozilla.com/D43158

--HG--
rename : mozglue/build/Authenticode.cpp => mozglue/dllservices/Authenticode.cpp
rename : mozglue/build/Authenticode.h => mozglue/dllservices/Authenticode.h
rename : mozglue/build/WindowsDllBlocklist.cpp => mozglue/dllservices/WindowsDllBlocklist.cpp
rename : mozglue/build/WindowsDllBlocklist.h => mozglue/dllservices/WindowsDllBlocklist.h
rename : mozglue/build/WindowsDllBlocklistCommon.h => mozglue/dllservices/WindowsDllBlocklistCommon.h
rename : mozglue/build/WindowsDllBlocklistDefs.in => mozglue/dllservices/WindowsDllBlocklistDefs.in
rename : mozglue/build/WindowsDllServices.h => mozglue/dllservices/WindowsDllServices.h
rename : mozglue/build/gen_dll_blocklist_defs.py => mozglue/dllservices/gen_dll_blocklist_defs.py
rename : mozglue/build/moz.build => mozglue/dllservices/moz.build
rename : mozglue/build/MozglueUtils.h => mozglue/misc/WinUtils.h
extra : moz-landing-system : lando
2019-09-20 00:09:41 +00:00
Aaron Klotz
64eef06887 Bug 1542830: Part 3 - Add ntdll_freestanding.lib to freestanding; r=mhowell,froydnj
The `freestanding` library is built with specific compiler flags to signify
that it is indeed freestanding code. That is, it does not depend on a
standard library.

One of the requirements of freestanding code is that the toolchain still
expects implementations of `memcpy`, `memmove`, `memcmp`, and `memset`.

I did briefly implement my own naive versions of these functions, but that
solution is less than ideal since the implementations must be `extern` and are
thus picked up by the entire `firefox.exe` binary. This denies the rest of
`firefox.exe` the benefit of optimized implementations. On Windows, the
sandbox is linked into `firefox.exe`, so we cannot just shrug and
assume that naive implementations will not have any effect on anything.

There are, however, optimized implementations of these functions that are
exported by `ntdll.dll`. They are not included in the `ntdll.lib` that is
included in the Windows SDK. Using `llvm-dlltool`, we can build an import
library containing the missing entries and then add that library to `OS_LIBS`.

Differential Revision: https://phabricator.services.mozilla.com/D43157

--HG--
extra : moz-landing-system : lando
2019-09-20 00:09:39 +00:00
Aaron Klotz
ee19c319fd Bug 1542830: Part 2 - Modify launcher process blocklist to collect information about untrusted module loads; r=mhowell
* We refactor the blocklist code. Code that may possibly run before
  initialization of the Win32 subsystem and the CRT is contained within the
  `freestanding` library.
* The `freestanding` library's static initializers are placed in their own
  section so that they may be manually invoked separately from the remaining
  initializers in the binary.
* `CheckBlockInfo` and `IsDllAllowed` are modified to return a `BlockAction`
  enum instead of a `bool`. This will be used more extensively in the future for
  LSP blocking.
* The launcher process now hooks `LdrLoadDll` in addition to
  `NtMapViewOfSection`. This is necessary so that we can collect timing
  information.
* Telemetry recorders must implement the `LoaderObserver` interface.
* `ModuleLoadFrame` is a RAII class that collects the information about the
  DLL load and dispatches the information to `LoaderObserver`s.
* The launcher process exposes an implementation of the `LoaderAPI` interface
  that may be called by either the launcher process blocklist or the legacy
  blocklist in `mozglue`.
* During startup, the launcher process implements its own `LoaderObserver`.
  Once mozglue is running, it connects its `LoaderObserver` to the launcher
  process, receives a vector containing the module load events, and then
  stores and forwards them into XUL.

Differential Revision: https://phabricator.services.mozilla.com/D43156

--HG--
rename : browser/app/winlauncher/DllBlocklistWin.cpp => browser/app/winlauncher/DllBlocklistInit.cpp
rename : browser/app/winlauncher/DllBlocklistWin.h => browser/app/winlauncher/DllBlocklistInit.h
rename : browser/app/winlauncher/DllBlocklistWin.cpp => browser/app/winlauncher/freestanding/DllBlocklist.cpp
rename : browser/app/winlauncher/DllBlocklistWin.h => browser/app/winlauncher/freestanding/DllBlocklist.h
rename : browser/app/winlauncher/moz.build => browser/app/winlauncher/freestanding/moz.build
extra : moz-landing-system : lando
2019-09-20 00:09:35 +00:00
Nihanth Subramanya
6310039b5f Bug 1582763 - [Protections Panel] Remove blue badge from shield and toggle when TP is disabled. r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D46618

--HG--
extra : moz-landing-system : lando
2019-09-20 16:12:46 +00:00
Kris Maglione
ee31fee500 Bug 1582523: Part 2 - Update tests which rely on OOP frames blocking load. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D46504

MANUAL PUSH: Still cannot update reopened Phabricator revisions.

--HG--
extra : source : 2e8fcb1718611e8ce81e7c83fb480d664000c2cc
extra : histedit_source : 29005a64bf92828ed472f378d36feff98d3d3a9f
2019-09-19 11:50:45 -07:00
Bogdan Tara
ecffbb2d40 Backed out changeset 6c464eede88a (bug 1405031) for browser_ext_pageAction_click_types.js failures CLOSED TREE 2019-09-20 01:03:17 +03:00
David Walsh
faeb87384f Bug 1580541 - Implement basic UI for request blocking r=Honza
Differential Revision: https://phabricator.services.mozilla.com/D46308

--HG--
rename : devtools/client/netmonitor/src/components/RequestBlockingPanel.js => devtools/client/netmonitor/src/components/request-blocking/RequestBlockingPanel.js
extra : moz-landing-system : lando
2019-09-20 14:21:01 +00:00