electron/shell/common
Biru Mohanathas ced2e8779f
feat: Allow detection of MITM HTTPS proxies like ZScaler (#30174)
* feat: Allow detection of MITM HTTPS proxies like ZScaler

For security purposes, Figma heavily restrics the origins that are
allowed to load within our Electron app. Unfortunately some corporate
environments use MITM proxies like ZScaler, which intercepts our
connection to `https://www.figma.com` and serves a redirect to e.g.
`https://gateway.zscloud.net` before finally redirecting back to
`https://www.figma.com`.

In order to detect this situation and handle it gracefully, we need to
be able to know whether or not the certificate for our own origin
(`https://www.figma.com`) is chained to a known root. We do this by
exposesing `CertVerifyResult::is_issued_by_known_root`.

If the certification verification passed without the certificate being
tied to a known root, we can safely assume that we are dealing with a
MITM proxy that has its root CA installed locally on the machine. This
means that HTTPS can't be trusted so we might as well make life easier
for corporate users by loosening our origin restrictions without any
manual steps.

* Tweak docs wording
2021-08-02 10:24:58 +09:00
..
api chore: bump chromium to 94.0.4584.0 (main) (#30030) 2021-07-26 09:02:16 -07:00
asar fix: change ASAR archive cache to per-process to fix leak (#29293) 2021-06-04 10:49:08 +09:00
extensions feat: partially support chrome.tabs.update (#30069) 2021-07-27 13:36:22 -07:00
gin_converters feat: Allow detection of MITM HTTPS proxies like ZScaler (#30174) 2021-08-02 10:24:58 +09:00
gin_helper chore: bump chromium to 94.0.4584.0 (main) (#30030) 2021-07-26 09:02:16 -07:00
mac fix: build when some buildflags are disabled (#23307) 2020-04-28 23:16:10 -07:00
resources/mac revert: disable rosetta as Electron does not run under rosetta 2020-11-18 09:04:16 -08:00
application_info.cc fix: use correct userData path when unbundled (#30113) 2021-07-14 13:10:37 -07:00
application_info.h fix: use correct userData path when unbundled (#30113) 2021-07-14 13:10:37 -07:00
application_info_linux.cc fix: use correct userData path when unbundled (#30113) 2021-07-14 13:10:37 -07:00
application_info_mac.mm refactor: rename the atom namespace to electron 2019-06-19 17:33:28 -07:00
application_info_win.cc chore: bump chromium to 94.0.4584.0 (main) (#30030) 2021-07-26 09:02:16 -07:00
color_util.cc Merge branch 'master' into roller/chromium/master 2021-03-15 18:43:25 -04:00
color_util.h Merge branch 'master' into roller/chromium/master 2021-03-15 18:43:25 -04:00
crash_keys.cc chore: add additional crash key to gin::Wrappable (#30161) 2021-07-21 09:33:25 -04:00
crash_keys.h chore: add additional crash key to gin::Wrappable (#30161) 2021-07-21 09:33:25 -04:00
electron_command_line.cc style: use build/include_directory for NOLINT (#23266) 2020-04-24 12:57:41 -07:00
electron_command_line.h chore: trim unused STL includes (#29414) 2021-06-01 10:34:44 +09:00
electron_constants.cc fix: crashReporter incompatible with sandbox on Linux (#23265) 2020-05-07 13:31:26 -07:00
electron_constants.h fix: crashReporter incompatible with sandbox on Linux (#23265) 2020-05-07 13:31:26 -07:00
electron_paths.h refactor: use PathProvider for user-data-dir and others (#29649) 2021-06-15 09:32:56 +09:00
heap_snapshot.cc chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
heap_snapshot.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
key_weak_map.h refactor: rename the atom namespace to electron 2019-06-19 17:33:28 -07:00
keyboard_util.cc chore: bump chromium to 93.0.4530.0 (master) (#29256) 2021-06-03 01:05:04 -07:00
keyboard_util.h chore: bump chromium to 93.0.4530.0 (master) (#29256) 2021-06-03 01:05:04 -07:00
language_util.h 2757472: Reland "Reland "[LSC] Remove base::string16 alias"" 2021-03-18 15:55:51 -04:00
language_util_linux.cc fix: respect system language preferences on Win/macOS (#23247) 2020-05-04 10:49:29 -07:00
language_util_mac.mm fix: respect system language preferences on Win/macOS (#23247) 2020-05-04 10:49:29 -07:00
language_util_win.cc 2757472: Reland "Reland "[LSC] Remove base::string16 alias"" 2021-03-18 15:55:51 -04:00
logging.cc feat: bring --enable-logging functionality in line with Chromium (#25089) 2021-06-17 14:17:25 -07:00
logging.h feat: bring --enable-logging functionality in line with Chromium (#25089) 2021-06-17 14:17:25 -07:00
mouse_util.cc chore: bump chromium to 580fe983e138952553cd6af11ee8b (master) (#23379) 2020-05-26 13:06:26 -07:00
mouse_util.h chore: bump chromium to bc8f70ed4cfe2262ea833750eaddb (master) (#22649) 2020-03-14 16:54:14 -04:00
node_bindings.cc chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
node_bindings.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
node_bindings_linux.cc refactor: run clang-tidy (#20231) 2019-09-16 18:12:00 -04:00
node_bindings_linux.h refactor: rename the atom namespace to electron 2019-06-19 17:33:28 -07:00
node_bindings_mac.cc chore: use =default for default constructors/destructors (#29511) 2021-06-04 13:16:13 +09:00
node_bindings_mac.h refactor: rename the atom namespace to electron 2019-06-19 17:33:28 -07:00
node_bindings_win.cc chore: use =default for default constructors/destructors (#29511) 2021-06-04 13:16:13 +09:00
node_bindings_win.h refactor: rename the atom namespace to electron 2019-06-19 17:33:28 -07:00
node_includes.h fix: prevent crash on web-contents creation when error is thrown (#28971) 2021-05-11 13:57:11 -07:00
node_util.cc build: Wrap bundles using webpack (#25557) 2020-10-20 12:10:15 -07:00
node_util.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
options_switches.cc refactor: remove guestInstanceId from WebPreferences (#30280) 2021-07-28 15:32:53 -07:00
options_switches.h refactor: remove guestInstanceId from WebPreferences (#30280) 2021-07-28 15:32:53 -07:00
platform_util.cc fix: shell.trashItem crash when called in renderer (#28748) 2021-04-22 13:46:41 -07:00
platform_util.h 2757472: Reland "Reland "[LSC] Remove base::string16 alias"" 2021-03-16 13:58:27 -04:00
platform_util_internal.h feat: add shell.trashItem() to replace shell.moveItemToTrash() (#25114) 2020-09-02 10:32:33 -07:00
platform_util_linux.cc fix: Revert "fix: don't propagate GDK_BACKEND to subprocs (#28898)" (#29610) 2021-06-09 08:28:52 -07:00
platform_util_mac.mm chore: remove deprecated shell.moveItemToTrash() (#26723) 2020-11-30 23:25:03 +03:00
platform_util_win.cc fix a messed up merge 2021-03-24 11:48:15 -07:00
process_util.cc chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
process_util.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
skia_util.cc chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
skia_util.h chore: clean up forward declarations (#29904) 2021-07-02 09:51:37 +09:00
v8_value_converter.cc chore: use std::make_unique/base::MakeRefCounted when possible (#29510) 2021-06-08 11:00:05 +09:00
v8_value_converter.h chore: remove native_mate (Part 12) (#20869) 2019-10-31 16:56:00 +09:00
v8_value_serializer.cc chore: bump chromium to 92.0.4505.0 (master) (#29058) 2021-05-13 21:21:36 -04:00
v8_value_serializer.h feat: MessagePorts in the main process (#22404) 2020-03-11 18:07:54 -07:00
world_ids.h chore: bump chromium to 7264889ce3aad1568ff3d211c81fe (master) (#27003) 2020-12-22 14:14:44 -08:00