Commit Graph

1187 Commits

Author SHA1 Message Date
Sylvestre Ledru
ef0bfc3822 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-03-31 15:12:55 +00:00
Haik Aftandilian
a8b3df5de0 Bug 1525086 - Part 6 - Use AssertMacSandboxEnabled() for the RDD process, change the assert to use sandbox_check() r=Alex_Gaynor
When the RDD process sandbox is started at launch, assert the sandbox has been enabled in the Init message.

Change AssertMacSandboxEnabled() to use the undocumented sandbox_check() function instead of sandbox_init().

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

--HG--
extra : moz-landing-system : lando
2019-03-27 20:29:08 +00:00
Haik Aftandilian
ae8b138790 Bug 1525086 - Part 3a - Move sandbox param logic to GeckoChildProcessHost and MacSandboxInfo to be more reusable r=Alex_Gaynor
Move sandbox early start logic to GeckoChildProcessHost.

Move sandbox CLI param logic into MacSandboxInfo.

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

--HG--
extra : moz-landing-system : lando
2019-03-28 02:25:52 +00:00
Haik Aftandilian
a6d4dd5d34 Bug 1525086 - Part 2 - Remove unneeded params and permissions from the utility sandbox r=Alex_Gaynor
Remove the unused plugin binary path and app binary path parameters and cleanup file path permissions.

Explicitly allow access to launchservicesd to allow SetProcessName() to work when the sandbox is started during startup.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 20:27:32 +00:00
Haik Aftandilian
40e8968bd5 Bug 1525086 - Part 1 - Split up sandbox policies, create utility policy for the RDD process r=Alex_Gaynor
Move sandbox policies for different process types into their own files.

Create a new "utility" policy cloned from the GMP policy to be used for basic utility-type processes.

Use the utility policy for the RDD process.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 20:27:09 +00:00
srujana
6e50bb941c Bug 1451127 : Added files to UNIFIED_SOURCES and removed conflicts. r=handyman
Added files to UNIFIED_SOURCES and removed conflicts. Files that required flags still remain in SOURCES.  SOURCES use "StrictOrderingOnAppendListWithFlagsFactory" base class and UNIFIED_SOURCES use "StrictOrderingOnAppendList" base class. As of now I do not think there is an option to add flags for the later. So the files requiring flags are kept in SOURCES.

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

--HG--
extra : moz-landing-system : lando
2019-03-20 21:32:50 +00:00
brendaadel
7b652fc9d8 Bug 1474759 - added strings to the empty MOZ_Crash() in Linux sandboxing module. r=handyman
Added reason strings to all MOZ_CRASH in linux/sandbox

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

--HG--
extra : moz-landing-system : lando
2019-03-22 07:43:29 +00:00
Alex Gaynor
177fb00eba Bug 1375863 - fold MOZ_CONTENT_SANDBOX and MOZ_GMP_SANDBOX into MOZ_SANDBOX; r=jld,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D22975

--HG--
extra : moz-landing-system : lando
2019-03-18 22:31:59 +00:00
Sylvestre Ledru
4aa92e3091 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D22514
2019-03-13 10:19:06 +01:00
David Major
e5773183d6 Bug 1528074 - Remove MSVC warning flags that clang-cl doesn't understand r=chmanchester
Per the previous patch, clang-cl only understands five MSVC-style warning flags: 7219c7e9af/clang/include/clang/Driver/CLCompatOptions.td (L188-L197)

This patch removes the flags that clang-cl doesn't understand.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 20:19:08 +00:00
Chris Pearce
de686d23c1 Bug 1530245 - Launch sandbox from new remote sandbox broker process. r=jld,bobowen
Depends on D22051

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

--HG--
extra : moz-landing-system : lando
2019-03-13 09:24:52 +00:00
Chris Pearce
f4c9b88845 Bug 1530245 - Make GeckoChildProcessHost::mSandboxBroker an abstract pointer. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D22051

--HG--
extra : moz-landing-system : lando
2019-03-13 09:24:37 +00:00
David Major
56ea434680 Bug 1528074 - Translate MSVC warning flags to clang spelling where supported r=froydnj
clang-cl only acts on five MSVC warning flags: 7219c7e9af/clang/include/clang/Driver/CLCompatOptions.td (L188-L197)

With MSVC now unsupported, most -wdNNNN have no effect and can be removed.

This patch converts the five supported warnings to their clang spellings, as preparation for a subsequent patch that will remove all remaining `[/-]w[edo][0-9]{4}`.

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

--HG--
extra : moz-landing-system : lando
2019-03-11 01:39:42 +00:00
Gurzau Raul
6b94d177d1 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-03-01 09:28:28 +02:00
Alex Gaynor
f789c68941 Bug 1531476 - replace MaybeFileDesc with FileDescriptor? in IPDL; r=mccr8
Also contains a small amount of unrelated devirtualization of IPC methods.

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

--HG--
extra : moz-landing-system : lando
2019-02-28 21:20:40 +00:00
Jed Davis
af97210807 Bug 1506291 - Add Linux sandboxing for the RDD (media decoder) process. r=gcp,mjf,flod
The seccomp-bpf policy is currently just the "common" policy with no
additions (but with the fixes in bug 1511560 to enable shared memory
creation).  The file broker policy allows shared memory creation and
nothing else.  The namespace setup is the same as for GMP (i.e., as
restrictive as we currently can be).

The sandbox can be turned off for troubleshooting by setting the
environment variable MOZ_DISABLE_RDD_SANDBOX, similarly to the other
process types.

Tested against https://demo.bitmovin.com/public/firefox/av1/ with the
necessary prefs set.

Depends on D20895

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

--HG--
extra : moz-landing-system : lando
2019-02-27 20:14:54 +00:00
Jed Davis
6fc87bff63 Bug 1511560 - Allow dup and ftruncate (when needed) in SandboxPolicyCommon. r=gcp
File descriptors are sometimes dup()ed in the process of communicating
them over IPC; some of this may be unnecessary (due to insufficient
use of move-only types), but dup() is relatively harmless.  It was
previously allowed for both content and GMP, so this doesn't change
anything.

The handling of ftruncate is a little complicated -- it's used for IPC
shared memory, but only when creating segments; so GMP doesn't allow
it and should continue not allowing it, but content needs it and RDD
will as well.  As a result, the subclass indicates if it will be needed.

Note that even when we have memfd_create support (bug 1440203),
ftruncate is still necessary even though brokering may not.

Depends on D14523

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

--HG--
extra : moz-landing-system : lando
2019-02-27 20:14:52 +00:00
Jed Davis
bb4d6b8630 Bug 1511560 - Move the socketpair handling into SandboxPolicyCommon. r=gcp
The sandbox broker uses socketpair to construct the per-request channels
over which responses are sent; thus, if and only if the policy will be
using brokering, it will allow socketpair as safely as possible (i.e.,
denying datagram sockets if possible).

Depends on D14522

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

--HG--
extra : moz-landing-system : lando
2019-02-23 00:44:10 +00:00
Jed Davis
2dfa36102d Bug 1511560 - Move syscalls for adjusting memory mapping properties into SandboxPolicyCommon. r=gcp
madvise is used by our malloc (and probably others), and mprotect is
used with shared memory, including when created by another process, so
the common policy should include those rules.

Depends on D14521

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

--HG--
extra : moz-landing-system : lando
2019-02-23 00:44:08 +00:00
Jed Davis
6acf27b81f Bug 1511560 - Move the Linux sandbox broker hooks into SandboxPolicyCommon. r=gcp
This will allow other policies to use brokering if needed (e.g., RDD and
similar utility processes may need to access /dev/shm to create shared
memory).  The concrete policy class can deny filesystem access completely
(matching the current behavior of the GMP policy) by passing nullptr to
the superclass constructor instead.

Depends on D14520

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

--HG--
extra : moz-landing-system : lando
2019-02-23 00:44:06 +00:00
Jed Davis
86607a852d Bug 1500297 - Require a broker client in ContentSandboxPolicy at level > 1. r=gcp
ContentSandboxPolicy currently allows direct filesystem access if it
isn't given a broker client; this is a legacy design from the B2G era,
before the current idea of "sandbox level".  With this patch, it allows
filesystem access at level 1, and above that it requires brokering.

This is both to reduce the opportunities for accidentally having a
too-permissive sandbox and to prepare for refactoring the broker glue in
bug 1511560.

Depends on D14519

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

--HG--
extra : moz-landing-system : lando
2019-02-27 15:23:25 +00:00
Jed Davis
0901298ac2 Bug 1500297 - Fix Linux content sandbox level 1. r=gcp
Level 1 is meant to enable some seccomp-bpf filtering, but still allow
direct access to the filesystem, and level 2 is where brokering starts.
This was accidentally broken in 1365257 (making "level 1" act like level
2); this patch fixes that.

This feature obviously isn't used much given how long nobody noticed it was
broken, but it's useful to have around for troubleshooting, and it's
actually easier to fix it than edit it out of the documentation.

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

--HG--
extra : moz-landing-system : lando
2019-02-27 15:23:25 +00:00
Ryan Hunt
a6457a95be Bug 1523969 part 21 - Move method definition inline comments to new line in 'security/'. r=ehsan
Differential Revision: https://phabricator.services.mozilla.com/D21122

--HG--
extra : rebase_source : cceafd5ad497236b2ce532727ad3435b8ea49fa7
extra : histedit_source : 630de35708f3a312d4b286a94d92536d086c4c9c
2019-02-25 16:12:13 -06:00
Kris Maglione
b2f85650a1 Bug 1524687: Part 12 - Convert everything else to static registration. r=erahm
--HG--
extra : source : 625f71135038f79c075f758e316fbb00097c9a18
extra : intermediate-source : 7a1ef487a9e74d66b112034051e49b77023860b8
extra : histedit_source : 88d19dbee4a99faa191e49e2847c4c59aba05b0c%2C5ee702f97153152d31124e0c5f3e8318cbeb3195
2019-01-29 16:03:41 -08:00
arthur.iakab
470dbf03b6 Backed out 5 changesets (bug 1524687) for causing build bustages on platform.h CLOSED TREE
Backed out changeset 0f06a6b51bfe (bug 1524687)
Backed out changeset 7a1ef487a9e7 (bug 1524687)
Backed out changeset accad7b4cbc7 (bug 1524687)
Backed out changeset eb33f7e6467c (bug 1524687)
Backed out changeset 86cf09db340b (bug 1524687)
2019-02-21 02:04:02 +02:00
Kris Maglione
95c0cf7aa9 Bug 1524687: Part 12 - Convert everything else to static registration. r=erahm
--HG--
extra : rebase_source : ccc1b4f8559152237e523b67ea76e2b406c1cb11
extra : intermediate-source : e8ad5619116c31fc4d38e0e789ddb9b5d2a5bb25
extra : source : 625f71135038f79c075f758e316fbb00097c9a18
2019-01-29 16:03:41 -08:00
Masatoshi Kimura
e59e3b3e20 Bug 1528651 - Fix some trivial warnings and re-enable warnings-as-errors on Windows in some directories. r=dmajor
--HG--
extra : source : 5ee9efeda9e67f6af0521be85266703763cc4c50
2019-02-19 20:42:11 +09:00
Bob Owen
36320360f7 Bug 1515088 Part 2: Set LoaderThreads to 1 in the RTL_USER_PROCESS_PARAMETERS structure on child process start-up. r=aklotz 2019-02-08 17:17:52 +00:00
Mike Hommey
ef3ad686ee Bug 1512504 - Remove support for MSVC. r=froydnj
Consequently, this removes:
- MOZ_LIBPRIO, which is now always enabled.
- non_msvc_compiler, which is now always true.
- The cl.py wrapper, since it's not used anymore.
- CL_INCLUDES_PREFIX, which was only used for the cl.py wrapper.
- NONASCII, which was only there to ensure CL_INCLUDES_PREFIX still
  worked in non-ASCII cases.

This however keeps a large part of detecting and configuring for MSVC,
because we still do need it for at least headers, libraries, and midl.

Depends on D19614

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

--HG--
extra : moz-landing-system : lando
2019-02-14 21:45:27 +00:00
Daniel Varga
023ea6a08f Backed out changeset 60f9b60f1f4f (bug 1347710) for causing bug 1526661. a=backout 2019-02-09 20:13:30 +02:00
Haik Aftandilian
9b822034f6 Bug 1525625 - [Mac] Flash plugin can not save settings r=Alex_Gaynor
Allow file-write-unlink in ~/Library/Preferences/Macromedia/Flash Player to allow changes made in the Flash Global Settings panel to persist.

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

--HG--
extra : moz-landing-system : lando
2019-02-08 20:42:10 +00:00
Chris Martin
4a154a9902 Bug 1347710 - Re-enable GPU sandbox level 1 r=bobowen
Previously, the GPU sandbox was enabled and caused the VR service to break.

The VR service has now been moved into its own process, and now the GPU
sandbox should be able to work fine. We will initially apply sandbox level '1'
for a time, and then increase to sandbox level '2' if everything works just
fine.

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

--HG--
extra : moz-landing-system : lando
2019-02-08 14:34:18 +00:00
Haik Aftandilian
a5c9d467ea Bug 1506495 - Whitelist /Library and ~/Library ColorSync Profile directories r=Alex_Gaynor
Whitelist the /Library and ~/Library ColorSync profile directories allowing gfx.color_management.display_profile to be used to load color profiles from those locations.

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

--HG--
extra : moz-landing-system : lando
2019-02-01 22:09:24 +00:00
David Parks
32fe24cedb Bug 1514073: Allow Windows plugin process to access Macromedia roaming folder (r=bobowen)
The sandbox already permits the process to create/delete the folder and access files in it.  This patch gives is access to the folder itself, namely it allows NtQueryAttributesFile to evaluate it.  For complex reasons, this fixes Flash's ability to store local objects (see AS3's SharedObject API).

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

--HG--
extra : moz-landing-system : lando
2019-02-01 09:22:29 +00:00
shindli
d5c5369355 Merge inbound to mozilla-central. a=merge 2019-01-29 23:37:33 +02:00
Bob Owen
c10c92ae4e Bug 1511438 Part 2: Enable win32k lockdown on RDD process. r=jimm
This stops the use of some win32k calls during start-up that will fail and in
some cases cause a crash.

It also moves the MITIGATION_DYNAMIC_CODE_DISABLE to be enabled after start-up.
This is required because the hooks to fake the user32 and gdi32 initialization
are applied as the DLLs load and the dynamic code disable blocks that.
2019-01-29 08:49:13 +00:00
Bob Owen
d2f299b489 Bug 1512731: Add sandbox read rule for user's AppData\Local Fonts dir. r=handyman 2019-01-29 08:49:13 +00:00
Haik Aftandilian
10146305a7 Bug 1520764 - Disable logging for iokit-get-properties and other extra deny types in sandbox profiles r=Alex_Gaynor
Add "(with no-log)" to the iokit-get-properties and other extra deny types in the content and GMP sandbox profiles.

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

--HG--
extra : moz-landing-system : lando
2019-01-23 14:06:51 +00:00
Kris Maglione
e930b89c34 Bug 1514594: Part 3 - Change ChromeUtils.import API.
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8

This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:

  ChromeUtils.import("resource://gre/modules/Services.jsm");

is approximately the same as the following, in the new model:

  var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");

Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs

This was done using the followng script:

https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8

Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs

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

--HG--
extra : rebase_source : 359574ee3064c90f33bf36c2ebe3159a24cc8895
extra : histedit_source : b93c8f42808b1599f9122d7842d2c0b3e656a594%2C64a3a4e3359dc889e2ab2b49461bab9e27fc10a7
2019-01-17 10:18:31 -08:00
Gurzau Raul
136dc5e8bc Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-01-23 02:05:32 +02:00
Sylvestre Ledru
0b4021fcad Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl
# ignore-this-changeset

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

--HG--
extra : histedit_source : 084f340503d2e1a2d9e1753c38b2c4ee9c7819f3
2019-01-21 18:18:16 +01:00
Haik Aftandilian
f6ee38ea4d Bug 1521167 [Mac] Sandbox violation logging is always enabled with early startup r=Alex_Gaynor
For sandbox early startup, ensure violation logging is only enabled when the parent passes the -sbLogging flag.

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

--HG--
extra : moz-landing-system : lando
2019-01-22 14:00:27 +00:00
Tom Ritter
9666744312 Bug 1520310 - Disable SANDBOX_EXPORTS for the mingw-clang build as well r=bobowen 2019-01-21 11:42:03 -06:00
Tom Ritter
77cce78dd3 Bug 1520310 - Backout the patch from Bug 1498695 and cast to void*. r=bobowen
In Bug 1462100 we started casting to void* because mingw doesn't do
automatic conversions like MSVC does.  In Bug 1498695 I backed out that
change because I (mistakenly) thought it wasn't necessary for mingw-clang
when in actuality, I simply wasn't hitting the code path due to
SANDBOX_EXPORTS being defined.

Since we want to _not_ define SANDBOX_EXPORTS I need to put the original
patch back in place.

--HG--
extra : amend_source : a26eec746e7881fa88b963c8dd3c1fa900b6a8b6
2019-01-21 14:13:17 -06:00
Noemi Erli
92a09b4912 Backed out changeset d8e4a86e306a (bug 1520310) for bustages in filesystem_dispatcher.cc 2019-01-21 21:47:43 +02:00
Tom Ritter
aaa41182a0 Bug 1520310 - Disable SANDBOX_EXPORTS for the mingw-clang build as well r=bobowen
--HG--
extra : amend_source : 3fd0fda02e8d7fabef0657fb3be520e37d59e97d
2019-01-21 11:42:03 -06:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Gian-Carlo Pascutto
2ea3add3ad Bug 1511099 - Make MAY_CREATE handling more consistent. r=jld
Differential Revision: https://phabricator.services.mozilla.com/D13523

--HG--
extra : moz-landing-system : lando
2019-01-07 15:21:32 +00:00
Haik Aftandilian
179fb3b0a4 Bug 1508277 - Crash in mozilla::gl::SurfaceFactory_IOSurface::CreateShared r=Alex_Gaynor
Allow access to device-id and vendor-id IOKit properties needed for AppleIntelHD3000GraphicsGLDriver.

Fixes a crash in the AppleIntelHD3000GraphicsGLDriver userland driver which is used in some 2011-era Macs.

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

--HG--
extra : moz-landing-system : lando
2018-12-31 17:23:35 +00:00
Bob Owen
4cf1443d5c Bug 1515375 - Null check sLaunchErrors in SandboxBroker and always accumulate if not created. r=handyman 2018-12-20 17:42:04 +00:00
Bob Owen
6c01f6d0bd Bug 1481518 part 2: Enable aarch64 Windows chromium sandbox code. r=froydnj 2018-12-14 13:07:35 +00:00
Bob Owen
f71af67dbf Bug 1481518 part 1: Add aarch64 Windows support to the chromium sandbox code. r=handyman
This patch includes the changes that Microsoft landed for the sandbox along
with other changes to the supporting base files that they depend upon.
2018-12-14 13:07:35 +00:00
Mark Banner
0304564ac7 Bug 1415483 - Apply the new options to reject-importGlobalProperties across the codebase, remove unnecessary importGlobalProperties. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D13754

--HG--
extra : moz-landing-system : lando
2018-12-11 21:39:40 +00:00
Michael Froman
d385314704 Bug 1513101 - re-add L section for HANDLES_DUP_BROKER to RDD Win sanbox to fix mochitest crashes. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D14109

--HG--
extra : moz-landing-system : lando
2018-12-11 18:50:21 +00:00
Csoregi Natalia
9e970681f2 Backed out 2 changesets (bug 1415483) for multiple failures e.g. on test_message_manager_ipc.html. CLOSED TREE
Backed out changeset d00748de66fc (bug 1415483)
Backed out changeset 8dea94258f54 (bug 1415483)
2018-12-11 19:30:57 +02:00
Mark Banner
1abdc8687f Bug 1415483 - Apply the new options to reject-importGlobalProperties across the codebase, remove unnecessary importGlobalProperties. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D13754

--HG--
extra : moz-landing-system : lando
2018-12-11 14:09:44 +00:00
Gian-Carlo Pascutto
d8bb24d28e Bug 1507830 - When using Wayland, don't allow connections to the X server. r=jld
Differential Revision: https://phabricator.services.mozilla.com/D13560

--HG--
extra : moz-landing-system : lando
2018-11-30 22:23:31 +00:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Michael Froman
b6e960b34c Bug 1498624 - pt2 - Implement Win sandbox for RDD process. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D13101

--HG--
extra : moz-landing-system : lando
2018-11-29 17:02:16 +00:00
Sylvestre Ledru
ef05004811 Bug 1503537 - Get rid of the pdfium & mortar code r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D10352

--HG--
extra : moz-landing-system : lando
2018-11-28 19:31:21 +00:00
Jed Davis
e9397cfcac Bug 1508898 - Prepare the Linux sandbox's socketcall/ipc-call dispatch table for reformatting. r=gcp
The tables in SandboxFilterUtil.cpp should remain vertically aligned,
but clang-format would disagree.  This patch excludes that region from
reformatting, and applies the other changes that clang-format would make
there.

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

--HG--
extra : moz-landing-system : lando
2018-11-21 11:05:31 +00:00
Haik Aftandilian
b890a6606e Bug 1506776 - 17.78% Base Content Resident Unique Memory regression r=Alex_Gaynor
Until more analysis is done, add back access to com.apple.CoreServices.coreservicesd to avoid extra allocations that are triggered when the service is blocked.

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

--HG--
extra : moz-landing-system : lando
2018-11-20 22:06:06 +00:00
Alex Gaynor
bef9ade569 Bug 1428361 - remove some 'on by default' permissions from the macOS plugin sandbox; r=haik
Differential Revision: https://phabricator.services.mozilla.com/D11892

--HG--
extra : moz-landing-system : lando
2018-11-14 16:46:05 +00:00
Sylvestre Ledru
2b4847d320 Bug 1506538 - Remove +x permissions on C++ source files r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D11609

--HG--
extra : moz-landing-system : lando
2018-11-13 15:32:08 +00:00
Haik Aftandilian
b1a4ba8dff Bug 1505445 - [Mac] With sandbox early startup, start the sandbox after the port exchange r=Alex_Gaynor
Don't start the sandbox until after the port exchange so the parent process does not have to wait longer in ContentParent::LaunchSubprocess() for the (expensive) sandbox_init_with_parameters call to complete in the child. Remove the policy rule allowing access to the parent port now that it is already open when the sandbox is initialized and therefore not needed.

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

--HG--
extra : moz-landing-system : lando
2018-11-08 21:04:19 +00:00
Tom Ritter
24a82c667b Bug 1504022 - Backout 1498693 to restore mingw exceptions for __try/__except r=bobowen
mingw-clang, when using SEH exceptions, compile these fine but don't unwind
them properly. When using sj/lj exceptions it can't compile them at all.

--HG--
extra : histedit_source : 4bda121d4d60ab6e7cf51a3d4287261c81904fe2
2018-11-02 13:06:24 -05:00
Haik Aftandilian
2ca07b2f4a Bug 1502228 - [Mac] With sandbox early startup enabled, some form elements are not rendered r=Alex_Gaynor
Add the /private/var directory to the list of file-read-metadata paths to avoid rendering issues on macOS 10.14 when sandbox early startup is enabled.

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

--HG--
extra : moz-landing-system : lando
2018-10-26 18:51:37 +00:00
Haik Aftandilian
49e56fe77b Bug 1431441 - Part 5 - Parameterize access to the windowserver in the Mac content sandbox policy r=Alex_Gaynor
Only allow access to "com.apple.windowserver.active" when the pref
"security.sandbox.content.mac.disconnect-windowserver" is set to true.

Depends on D6721

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

--HG--
extra : moz-landing-system : lando
2018-10-18 20:49:51 +00:00
Haik Aftandilian
cf8dfa28d7 Bug 1431441 - Part 4 - ASSERT the sandbox is already enabled r=Alex_Gaynor
When early initialization of the sandbox is enabled, assert that the sandbox has already been enabled in ContentProcess::Init().

Depends on D6720

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

--HG--
extra : moz-landing-system : lando
2018-10-18 20:47:43 +00:00
Haik Aftandilian
81b56d13a8 Bug 1431441 - Part 3 - Start the Mac content sandbox earlier r=Alex_Gaynor
Pass sandbox parameters to content processes on the command line allowing for early sandbox startup.

Pref'd off behind "security.sandbox.content.mac.earlyinit" until it's ready to be enabled by default.

Once early startup is enabled by default and considered stable, the original sandbox startup code can be removed.

Depends on D6719

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

--HG--
extra : moz-landing-system : lando
2018-10-19 18:23:16 +00:00
Haik Aftandilian
851ee0f677 Bug 1431441 - Part 2 - Remove rules for APP_BINARY_PATH and APP_DIR Mac sandbox parameters r=Alex_Gaynor
Simplify the content sandbox policy by removing APP_BINARY_PATH and APP_DIR Mac sandbox parameters and their associated rules in the policy. Keep APP_PATH which is a parent directory of APP_BINARY_PATH and APP_DIR. Change APP_PATH to be the path to the parent process .app directory and make GetAppPath return this path when called from the parent or a child process.

Depends on D6717

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

--HG--
extra : moz-landing-system : lando
2018-10-19 18:23:06 +00:00
Mark Banner
ceaeb93550 Bug 1486741 - Enable ESLint rule comma-dangle for all of mozilla-central (automatic fixes). r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D8389

--HG--
extra : moz-landing-system : lando
2018-10-19 12:55:39 +00:00
Chris Martin
deeb744526 Bug 1496364 - Minor refactor to stop uninitialized variable warning r=handyman
The compiler warns that jobLevel is uninitialized if none of the if-else
conditions are true. Simply replacing the leading assert with a
"else crash" tells the compiler that case will never actually happen.

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

--HG--
extra : moz-landing-system : lando
2018-10-18 19:14:05 +00:00
David Parks
8ad763743e Bug 1426733: Use restricting SIDs in Windows NPAPI process sandbox (r=bobowen)
Allow NPAPI sandbox to use restricting SIDs.  This hardens the plugin sandbox.

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

--HG--
extra : moz-landing-system : lando
2018-10-18 16:27:56 +00:00
Tom Ritter
4c8004df52 Bug 1498695 Revert casting to void* (1462100) because mingwclang doesn't need to do that. r=bobowen 2018-10-16 11:33:32 +03:00
Tom Ritter
cc01d26509 Bug 1498694 Revert the patch that relaxes the MSVC requirement (1431807) since mingw-clang passes it now r=bobowen 2018-10-12 13:45:49 -05:00
Tom Ritter
8ae788d2db Bug 1498693 - Revert the other part of 1431803, since mingw-clang can handle it now r=bobowen 2018-10-12 13:44:37 -05:00
Tom Ritter
8626230808 Bug 1498672 Include string.h explicitly instead of relying on algorithm to bring it in r=bobowen
The mingw-clang build was broken because the dependency wasn't specified explicitly.
2018-10-12 12:55:16 -05:00
Narcis Beleuzu
a2990eb898 Backed out 7 changesets (bug 1431441) as per haik`s request.
Backed out changeset 1dfdc7ba998d (bug 1431441)
Backed out changeset fb1a4ddbf9bf (bug 1431441)
Backed out changeset b59b1651fc15 (bug 1431441)
Backed out changeset 1e2bb579b824 (bug 1431441)
Backed out changeset 2a635530dfa3 (bug 1431441)
Backed out changeset 262da0be2fed (bug 1431441)
Backed out changeset b9cfda58fed3 (bug 1431441)

--HG--
extra : rebase_source : 7baf60c49683b419c0603979b0dff3befb2fbaf0
2018-10-14 18:20:01 +03:00
David Parks
99e17d748f Bug 1488439: Part 1 - Replace Windows temp folder in sandboxed plugin process (r=bobowen,erahm)
The sandbox blocks GetTempFileName's prior response, causing the system to end up searching a number of (inaccessible) folders to use as a replacement for the temp folder.  This patch provides a path to a new folder on the command line for the plugin process.  This new temp folder, specific to this plugin process instance, is then communicated to the system via the TEMP/TMP environment variables.  This is similar to what is done for the content process but avoids nsDirectoryService, which doesn't exist in plugin processes.

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

--HG--
extra : moz-landing-system : lando
2018-10-12 22:36:22 +00:00
Coroiu Cristina
4224edc453 Backed out 2 changesets (bug 1488439) for build bustage at /build/src/dom/plugins/ipc/PluginProcessParent.cpp on a CLOSED TREE
Backed out changeset 74b2087ee696 (bug 1488439)
Backed out changeset 85575fc37555 (bug 1488439)
2018-10-12 21:00:41 +03:00
David Parks
1ad569c6b1 Bug 1488439: Part 1 - Replace Windows temp folder in sandboxed plugin process (r=bobowen,erahm)
The sandbox blocks GetTempFileName's prior response, causing the system to end up searching a number of (inaccessible) folders to use as a replacement for the temp folder.  This patch provides a path to a new folder on the command line for the plugin process.  This new temp folder, specific to this plugin process instance, is then communicated to the system via the TEMP/TMP environment variables.  This is similar to what is done for the content process but avoids nsDirectoryService, which doesn't exist in plugin processes.

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

--HG--
extra : moz-landing-system : lando
2018-10-12 17:40:10 +00:00
Haik Aftandilian
fd43db7f44 Bug 1431441 - Part 5 - Parameterize access to the windowserver in the Mac content sandbox policy r=Alex_Gaynor
Only allow access to "com.apple.windowserver.active" when the pref
"security.sandbox.content.mac.disconnect-windowserver" is set to true.

Depends on D6721

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

--HG--
extra : moz-landing-system : lando
2018-10-11 22:49:44 +00:00
Haik Aftandilian
e5a942f82a Bug 1431441 - Part 4 - ASSERT the sandbox is already enabled r=Alex_Gaynor
When early initialization of the sandbox is enabled, assert that the sandbox has already been enabled in ContentProcess::Init().

Depends on D6720

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

--HG--
extra : moz-landing-system : lando
2018-10-11 22:46:29 +00:00
Haik Aftandilian
b9bdcdedb1 Bug 1431441 - Part 3 - Start the Mac content sandbox earlier r=Alex_Gaynor
Pass sandbox parameters to content processes on the command
line allowing for early sandbox startup. Limited to Nightly
until confirmed to be stable and ready to ride the trains.

Enable early sandbox startup by default on Nightly and use
pref "security.sandbox.content.mac.earlyinit" to disable
early startup for debugging purposes.

Once early startup is stable, the original sandbox startup
code can be removed.

Depends on D6719

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

--HG--
extra : moz-landing-system : lando
2018-10-11 22:44:25 +00:00
Haik Aftandilian
a710b03285 Bug 1431441 - Part 2 - Remove rules for APP_BINARY_PATH and APP_DIR Mac sandbox parameters r=Alex_Gaynor
Simplify the content sandbox policy by removing APP_BINARY_PATH and APP_DIR Mac sandbox parameters and their associated rules in the policy. Keep APP_PATH which is a parent directory of APP_BINARY_PATH and APP_DIR.

Depends on D6717

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

--HG--
extra : moz-landing-system : lando
2018-10-11 22:42:24 +00:00
Jim Mathies
494b622f3f Bug 1497643 - Enable Chromium sandbox option MITIGATION_IMAGE_LOAD_PREFER_SYS32 for content processes. r=bowen 2018-10-11 09:23:03 -05:00
Tiberius Oros
3edd9afbe3 Backed out 5 changesets (bug 1431441) for failing devtools at client/debugger/new/test/mochitest/browser_dbg_rr_breakpoints-01.js on OSX opt a=backout
Backed out changeset 94a1d1d67191 (bug 1431441)
Backed out changeset be7ec7438701 (bug 1431441)
Backed out changeset db6b7ee04187 (bug 1431441)
Backed out changeset f61ec0f140c2 (bug 1431441)
Backed out changeset ac51f86f5cac (bug 1431441)
2018-10-03 09:39:01 +03:00
Haik Aftandilian
70da961450 Bug 1431441 - Part 5 - Parameterize access to the windowserver in the Mac content sandbox policy r=Alex_Gaynor
Only allow access to "com.apple.windowserver.active" when the pref
"security.sandbox.content.mac.disconnect-windowserver" is set to true.

Depends on D6721

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

--HG--
extra : moz-landing-system : lando
2018-10-02 19:43:06 +00:00
Haik Aftandilian
7977abcd65 Bug 1431441 - Part 4 - ASSERT the sandbox is already enabled r=Alex_Gaynor
When early initialization of the sandbox is enabled, assert that the sandbox has already been enabled in ContentProcess::Init().

Depends on D6720

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

--HG--
extra : moz-landing-system : lando
2018-10-02 19:41:30 +00:00
Haik Aftandilian
ef9150c083 Bug 1431441 - Part 3 - Start the Mac content sandbox earlier r=Alex_Gaynor
Pass sandbox parameters to content processes on the command
line allowing for early sandbox startup. Limited to Nightly
until confirmed to be stable and ready to ride the trains.

Enable early sandbox startup by default on Nightly and use
pref "security.sandbox.content.mac.earlyinit" to disable
early startup for debugging purposes.

Once early startup is stable, the original sandbox startup
code can be removed.

Depends on D6719

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

--HG--
extra : moz-landing-system : lando
2018-10-02 20:29:46 +00:00
Haik Aftandilian
a99a3fe58d Bug 1431441 - Part 2 - Remove rules for APP_BINARY_PATH and APP_DIR Mac sandbox parameters r=Alex_Gaynor
Simplify the content sandbox policy by removing APP_BINARY_PATH and APP_DIR Mac sandbox parameters and their associated rules in the policy. Keep APP_PATH which is a parent directory of APP_BINARY_PATH and APP_DIR.

Depends on D6717

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

--HG--
extra : moz-landing-system : lando
2018-10-02 19:40:46 +00:00
Kris Maglione
74481e8af4 Bug 1479035: Part 1 - Don't create event queues for stub nsThread wrappers. r=froydnj
Most of the times when we automatically create nsThread wrappers for threads
that don't already have them, we don't actually need the event targets, since
those threads don't run XPCOM event loops. Aside from wasting memory, actually
creating these event loops can lead to leaks if a thread tries to dispatch a
runnable to the queue which creates a reference cycle with the thread.

Not creating the event queues for threads that don't actually need them helps
avoid those foot guns, and also makes it easier to figure out which treads
actually run XPCOM event loops.

MozReview-Commit-ID: Arck4VQqdne

--HG--
extra : source : a03a61d6d724503c3b7c5e31fe32ced1f5d1c219
extra : intermediate-source : 5152af6ab3e399216ef6db8f060c257b2ffbd330
extra : histedit_source : ef06000344416e0919f536d5720fa979d2d29c66%2C4671676b613dc3e3ec762edf5d72a2ffbe6fca3f
2018-07-27 15:13:12 -07:00
Narcis Beleuzu
72f96acd7b Backed out 2 changesets (bug 1479035) for assertion failure: mEvents. CLOSED TREE
Backed out changeset 89a0c0874d40 (bug 1479035)
Backed out changeset 5152af6ab3e3 (bug 1479035)
2018-09-26 23:40:13 +03:00
Kris Maglione
81eb50cf31 Bug 1479035: Part 1 - Don't create event queues for stub nsThread wrappers. r=froydnj
Most of the times when we automatically create nsThread wrappers for threads
that don't already have them, we don't actually need the event targets, since
those threads don't run XPCOM event loops. Aside from wasting memory, actually
creating these event loops can lead to leaks if a thread tries to dispatch a
runnable to the queue which creates a reference cycle with the thread.

Not creating the event queues for threads that don't actually need them helps
avoid those foot guns, and also makes it easier to figure out which treads
actually run XPCOM event loops.

MozReview-Commit-ID: Arck4VQqdne

--HG--
extra : rebase_source : fcf8fa50e748c4b54c3bb1997575d9ffd4cbaae1
extra : source : a03a61d6d724503c3b7c5e31fe32ced1f5d1c219
2018-07-27 15:13:12 -07:00
Noemi Erli
36cc0e5fa7 Backed out 2 changesets (bug 1479035) for build bustages bustages netwerk/cache2/target on CLOSED TREE
Backed out changeset 5f8706213610 (bug 1479035)
Backed out changeset a03a61d6d724 (bug 1479035)
2018-09-26 08:54:03 +03:00
Kris Maglione
a6edc4f204 Bug 1479035: Part 1 - Don't create event queues for stub nsThread wrappers. r=froydnj
Most of the times when we automatically create nsThread wrappers for threads
that don't already have them, we don't actually need the event targets, since
those threads don't run XPCOM event loops. Aside from wasting memory, actually
creating these event loops can lead to leaks if a thread tries to dispatch a
runnable to the queue which creates a reference cycle with the thread.

Not creating the event queues for threads that don't actually need them helps
avoid those foot guns, and also makes it easier to figure out which treads
actually run XPCOM event loops.

MozReview-Commit-ID: Arck4VQqdne

--HG--
extra : rebase_source : 02c5572b92ee48c11697d90941336e10c03d49cf
2018-07-27 15:13:12 -07:00
Haik Aftandilian
f2fa2012f9 Bug 1491940 - [Mac] Allow Adobe DRM content to play with the Mac Flash sandbox r=Alex_Gaynor
Add an whitelisted write-access path regex to the Flash plugin sandbox.

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

--HG--
extra : moz-landing-system : lando
2018-09-24 17:22:49 +00:00
Jed Davis
2fcf5c7252 Bug 1489735 - Quietly deny sched_setaffinity in content process sandbox r=gcp
Differential Revision: https://phabricator.services.mozilla.com/D5908

--HG--
extra : moz-landing-system : lando
2018-09-17 16:43:52 +00:00
Landry Breuil
aa545e34c8 Bug 1457092 - Implement sandboxing on OpenBSD. r=gcp, r=jld
Add StartOpenBSDSandbox method calling pledge() syscall,
and use it where we're sandboxing processes.

The pledge subsets are coming from two new prefs:
- security.sandbox.pledge.content for the content process
- security.sandbox.pledge.main for the main process

--HG--
extra : rebase_source : 60da70e2d335755fda6126a6b7de7aad41eebb7e
2018-08-23 07:35:00 -04:00