Граф коммитов

990 Коммитов

Автор SHA1 Сообщение Дата
Alex Gaynor d27dc0ba0b Bug 1358223 - Part 1 - On Windows and macOS hardcode the minimum content sandbox level at 1. r=bobowen,haik,jimm
If the "security.sandbox.content.level" preference is set to a value less than
1, all consumers will automatically treat it as if it were level 1. On Linux and
Nightly builds, setting the sandbox level to 0 is still allowed, for now.

MozReview-Commit-ID: 9QNTCkdbTfm

--HG--
extra : rebase_source : cd5a853c46a5cd334504b339bef8df30a3cabe51
2017-05-12 17:04:42 -04:00
Sebastian Hengst fd03aa5bc8 Backed out changeset 4e283b54baa6 (bug 1358223) for build bustage on Android at dom/ipc/ContentChild.cpp:21. r=backout 2017-05-31 21:34:13 +02:00
Alex Gaynor 39f34ea898 Bug 1358223 - Part 1 - On Windows and macOS hardcode the minimum content sandbox level at 1. r=bobowen,haik,jimm
If the "security.sandbox.content.level" preference is set to a value less than
1, all consumers will automatically treat it as if it were level 1. On Linux and
Nightly builds, setting the sandbox level to 0 is still allowed, for now.

MozReview-Commit-ID: 9QNTCkdbTfm

--HG--
extra : rebase_source : 1a26ffc5b9f80e6df4c37c23f506e907ba44053a
2017-05-12 17:04:42 -04:00
Bob Owen 035cf9bdc2 Bug 1339105 Part 1: Implement Windows Level 3 content process sandbox policy. r=jimm
MozReview-Commit-ID: L8wcVhdLvFe

--HG--
extra : source : c3fb60fbc32660719c1b8b06dc785abd4559d6c0
2017-05-22 20:41:27 +01:00
Wes Kocher 848c9aa744 Backed out 3 changesets (bug 1339105) for plugin process leaks a=backout
Backed out changeset 431267ab28de (bug 1339105)
Backed out changeset 445875fbf13b (bug 1339105)
Backed out changeset c3fb60fbc326 (bug 1339105)

MozReview-Commit-ID: 4HYUQbHHnox
2017-05-22 15:14:23 -07:00
Bob Owen edf3a239b1 Bug 1339105 Part 1: Implement Windows Level 3 content process sandbox policy. r=jimm
MozReview-Commit-ID: L8wcVhdLvFe
2017-05-22 20:41:27 +01:00
Sebastian Hengst 89e33081c6 Backed out changeset 50bf4c923818 (bug 1339105) for Windows bustage: calling protected constructor of class 'nsAString' at sandboxBroker.cpp(208,11). r=backout on a CLOSED TREE 2017-05-22 16:16:16 +02:00
Bob Owen f24abd4ac3 Bug 1339105 Part 1: Implement Windows Level 3 content process sandbox policy. r=jimm
MozReview-Commit-ID: L8wcVhdLvFe
2017-05-22 14:29:06 +01:00
Ryan VanderMeulen acb2f518fc Merge inbound to m-c. a=merge 2017-05-19 11:46:56 -04:00
Carl Corcoran 2e80270b6e Bug 1360493 write a test asserting that Firefox launches without hanging; r=rstrong
MozReview-Commit-ID: D0axTNp4KCt

--HG--
extra : rebase_source : b56359ba3797a62f51fbc421d404409f994df11f
2017-05-17 08:22:08 +02:00
Carsten "Tomcat" Book 318136aacc Backed out changeset 420cf7ba089f (bug 1360493) for eslint failure in own test 2017-05-18 09:13:05 +02:00
Carl Corcoran caa301de9b Bug 1360493 write a test asserting that Firefox launches without hanging; r=rstrong
MozReview-Commit-ID: D0axTNp4KCt

--HG--
extra : rebase_source : e3e785f5ea69a9ddb0c0369fe18ee0d59a3ab1ac
2017-05-17 08:22:08 +02:00
Nathan Froyd c1d1748428 Bug 1359490 - add an event loop spinning abstraction function; r=gerald
This function is arguably nicer than calling NS_ProcessNextEvent
manually, is slightly more efficient, and will enable better auditing
for NS_ProcessNextEvent when we do Quantum DOM scheduling changes.
2017-05-15 09:34:19 -04:00
Jan Beich ecfde05fec Bug 1362847 - Allow headless on other Gtk platforms. r=bdahl
MozReview-Commit-ID: 9NRiPQA73ov

--HG--
extra : rebase_source : d9dc0fb9cf671fd05db27cd9dffb300bfdb9dba9
2017-05-07 10:34:49 +00:00
Jim Chen 05c9cfa565 Bug 1362191 - 3. Remove GeckoAppShell.scheduleRestart; r=snorp
GeckoAppShell.scheduleRestart was called from XPCOM toolkit when we
needed to restart after the Gecko thread exits. But because we made the
"Gecko:Exited" event contain a "restart" flag, we can handle that
entirely in Java now, so we don't need to call
GeckoAppShell.scheduleRestart anymore.
2017-05-11 16:39:30 -04:00
Blake Kaplan c3b0e4df52 Bug 1362493 - Let users with mpc=true addons into the multi experiment. r=Felipe
MozReview-Commit-ID: CwV4vukwrm9

--HG--
extra : rebase_source : 12ca3dd13fbf0657025fe5a3f4911cf8f1a1027f
2017-05-08 11:34:52 -07:00
Wes Kocher e2902f93a3 Merge inbound to m-c a=merge
MozReview-Commit-ID: Fp2oBAcru51
2017-05-09 14:34:34 -07:00
Carl Corcoran 72c896fa45 bug 1358151: temporary workaround for rust race condition r=ted
MozReview-Commit-ID: KiPArBKMSu1

--HG--
extra : rebase_source : 7e0714b0bb04f019fc26dae80cf1226d298551c3
2017-05-06 14:05:09 +02:00
Jonathan Watt 6f36936674 Bug 1362891, part 1 - Add an XRE_IsE10sParentProcess function. r=froydnj
MozReview-Commit-ID: 6neyZj71i3r

--HG--
extra : rebase_source : a172d64a03f2af8b2b1e4820645295c8d64e8118
2017-04-24 09:38:10 +01:00
Brendan Dahl 05aa249ae0 Bug 1359480 - Only allow headless on supported platforms.
Avoids crashes and lets users know if they try headless
on an unsupported platform.
2017-05-03 11:58:10 -07:00
Tom Tromey bd012d9546 Bug 1334318 - remove last uses of PR_smprintf; r=froydnj
This removes the last uses of PR_smprintf from the tree (excluding the
security and nsprpub directories).  It also fixes a related latent bug
in nsAppRunner.cpp (which was incorrectly freeing the pointer passed to
PR_SetEnv).

MozReview-Commit-ID: GynP2PhuWWO

--HG--
extra : rebase_source : c3b83c7bd08b1c222e137a00323caf5481352845
2017-04-28 10:13:26 -06:00
Brendan Dahl a071a0f003 Bug 1356681 - Expand headless mode support for linux. r=automatedtester,jrmuizel,kanru
Full Firefox on Linux can now be run with a --headless flag.
This includes seven parts:
1) Running all marionette tests in headless mode.
2) Prevents crashes where Firefox calls into GTK.
3) Adds a headless screen helper which supports changing the headless
screen size with the environment variables MOZ_HEADLESS_WIDTH and
MOZ_HEADLESS_HEIGHT.
4) Supports simulating moving a headless window.
5) Adds a stubbed out nsSound implementation.
6) Supports simulating size mode changes of headless windows.
7) Adds the --headless flag for Firefox.
2017-05-18 17:47:10 -07:00
Tom Tromey 99f4608655 Bug 1334278 - change mozilla::Smprintf to return a UniquePtr; r=froydnj
Change mozilla::Smprintf and friends to return a UniquePtr, rather than
relying on manual memory management.  (Though after this patch there are
still a handful of spots needing SmprintfFree.)

MozReview-Commit-ID: COa4nzIX5qa

--HG--
extra : rebase_source : ab4a11b4d2e758099bd0794d5c25d799a7e42680
2017-03-03 08:17:27 -07:00
Blake Kaplan 4cff489478 Bug 1349363 - Centralize pref-checking code for e10s-multi control. r=Felipe
This patch centralizes all of the pref-checking code for e10s-multi in a
single function. It is intended to be used throughout the codebase to see if
e10s-multi is "on". It also introduces dom.ipc.multiOptOut, which can be set
by the user to indicate that they do not want to participate in the e10s-multi
experiment.

MozReview-Commit-ID: Kyq1fqNzwue

--HG--
extra : rebase_source : 321a44fb5909c067a20dbb3b739175ba08569a5f
2017-04-17 14:36:04 -07:00
Zibi Braniecki a1a4f0b7c9 Bug 1346616 - Migrate callsites that are retrieving requested locale from pref, to use LocaleService::GetRequestedLocales. r=jfkthame,Pike
I'm adding a helper function mozILocaleService::GetRequestedLocale to simplify
most of the callsites that are looking for the first of the requested locales.

In most cases, I'm just matching the behavior of the code with reusing
LocaleService API instead of direct manipulation on the prefs.
That includes how I handle error case scenarios.

In case of sdk/l10n/locale.js I am reusing LocaleService heuristics over
the custom one from the file since the ones in LocaleService are just
more correct and unified accross the whole platform.

In case of FallbackEncoding I have to turn it into a nsIObserver to listen
to intl:requested-locales-changed.

MozReview-Commit-ID: 7rOr2CovLK

--HG--
extra : rebase_source : 883a91b249b6953b7872bfb9a8851e8be7257c7b
2017-03-11 18:43:11 -08:00
Sebastian Hengst 7b30105d39 Backed out changeset 60d72c2dd49d (bug 1346616) for eslint failure in DirectoryLinksProvider.jsm. r=backout on a CLOSED TREE 2017-04-18 00:48:16 +02:00
Zibi Braniecki cce53c69bc Bug 1346616 - Migrate callsites that are retrieving requested locale from pref, to use LocaleService::GetRequestedLocales. r=jfkthame,Pike
I'm adding a helper function mozILocaleService::GetRequestedLocale to simplify
most of the callsites that are looking for the first of the requested locales.

In most cases, I'm just matching the behavior of the code with reusing
LocaleService API instead of direct manipulation on the prefs.
That includes how I handle error case scenarios.

In case of sdk/l10n/locale.js I am reusing LocaleService heuristics over
the custom one from the file since the ones in LocaleService are just
more correct and unified accross the whole platform.

In case of FallbackEncoding I have to turn it into a nsIObserver to listen
to intl:requested-locales-changed.

MozReview-Commit-ID: 7rOr2CovLK

--HG--
extra : rebase_source : 2f166cf1746f389a035f7cf557edcadeacb10fa0
2017-03-11 18:43:11 -08:00
Robert Strong f9a82146b7 Bug 1355361 - nsUpdateProcessor::ProcessUpdate should use the directory service instead of nsXREDirProvider (also removes app update gonk support). r=mhowell
Since the ApplyUpdate and SwitchToUpdatedApp functions are almost entirely the same this moves everything into ApplyUpdate.
Removes most of the gonk code from application update.
Makes client code and xpcshell tests use the same code for directory providers in nsUpdateDriver.cpp.
2017-04-12 18:07:07 -07:00
Mats Palmgren 9178a1fa06 Bug 1354166 - Add missing #include for gfxPlatform::IsHeadless(). r=bdahl
MozReview-Commit-ID: DkpUu8j3Lou
2017-04-06 20:17:34 +02:00
Brendan Dahl a1f2e12af8 Bug 1338004 - Add headless browser mode. r=jrmuizel, r=ted
Supports creating a windowless browser on Linux without an X server. Most of the
changes are just adding branches to avoid calls in to GTK which calls
into X. Some of the bigger additions were adding a separate headless widget
which implements just enough to render a page. A headless look and
feel were also added since there are many calls into GTK in the platform
specific one.
2017-04-04 10:22:00 -04:00
Alex Gaynor 50bb200c66 Bug 805173 - Enable HeapEnableTerminationOnCorruption for chrome processes on Windows. r=mhowell,tjr
This is an exploit mitigation which causes the Windows system allocator to abort
in the event it is in a corrupted state, rather than attempt to proceed in a
potentially exploitable state.

Because we use jemalloc, this only affects system libraries or plugins which
still use the system allocator.

The has been enabled on our content processes for a while without incident.

r=mhowell,tjr

MozReview-Commit-ID: 5ctXugtbI1A

--HG--
extra : rebase_source : f6f134404be3b258a8e522c22fa061c32a47e313
2017-03-31 16:15:56 -04:00
Gian-Carlo Pascutto 2285dea6a3 Bug 1347358 - Add a Cleanup() function for profile locks. r=glandium
MozReview-Commit-ID: GYQeUuzWPOV

--HG--
extra : rebase_source : 1c031180cb7e31cbeff205de583bd37a3c13945c
2017-03-23 18:02:10 +01:00
Nicholas Nethercote bcac800a39 Bug 1346132 (part 1) - Initialize Mozilla logging earlier in nsAppRunner.cpp. r=erahm.
The following functions all call NS_LogInit() (either directly or via
ScopedLogging) and then call LogModule::Init() very shortly after:
XRE_InitChildProcess(), NS_InitXPCOM2(), NS_InitMinimalXPCOM(),
XRE_XPCShellMain().

XREMain::XRE_main() does not, however. This prevents us from using MOZ_LOG
easily in the profiler, because the profiler starts up earlier than logging in
the browser.

This patch adds an early LogModule::Init() to XRE_main(), just after the
NS_LogInit().

--HG--
extra : rebase_source : c25fc891da78755e2f38f4dc672d503734990c47
2017-03-10 18:55:40 +11:00
Gabriele Svelto 1ab1c1e41b Bug 1322611 - After a crash compute the SHA256 hash of a minidump and attach it to the crash ping; r=Ted, nchen
This patch changes the crashreporter client code as well as the crash service
code to compute a SHA256 hash of a crash' minidump file and add it to the
crash ping. The crash service code computes the hash on the fly before handing
over the crash to the crash manager; the crash manager will then add it to the
crash ping. The crashreporter client on the other hand sends the hash via the
ping it generates but it also adds it to the event file so that the crash
manager can pick it up and send it along with its own crash ping. On Fennec
the crashreporter activity takes care of computing the hash.

SHA256 hash computation uses nsICryptoHash in the crash service, the
java.security.MessageDigest class in Fennec, the bundled NSS library in the
crashreporter when running on Windows and Mac and the system-provided NSS
library under Linux. The latter is required because the crashreporter client
uses the system curl library which is linked to NSS and which would thus clash
with the bundled one if used together.

This patch introduces two new methods for the nsICrashService interface:
|getMinidumpForID()| and |getExtraFileForID()|, these reliably retrieve the
.dmp and .extra files associated with a crash and ensure the files exist
before returning. These new methods are used in the CrashService for
processing and will become the only way to reliably retrieve those files
from a crash ID.

MozReview-Commit-ID: 8BKvqj6URcO

--HG--
extra : source : a4d8291c56fcde00238ab3166bbe6af6dd602340
2017-02-16 07:36:57 +01:00
Mike Hommey 9f7b6a9229 Bug 1345413 - Fallback to getpwuid() info when LOGNAME is not set when creating the XRemote mutex. r=froydnj
--HG--
extra : rebase_source : 31590f6dd7fc175f1e19627ad97a9a21ac6856c9
2017-03-14 14:11:55 +09:00
Andrew McCreight 3cb01b77f0 Bug 1345978, part 1 - Add a way to get the platform build id without the service manager. r=froydnj
The next patch needs this value early in startup, before the service
manager is available.

MozReview-Commit-ID: LAfnzV2nfiR

--HG--
extra : rebase_source : 7230335461d06157d916b02fbe37f623fd233fae
2017-03-11 08:01:34 -08:00
David Parks 26437f4ecd Bug 1284897 - Add mechanism to libsandbox_s to track names of files that have been given special sandbox access permissions (PermissionsService). r=bobowen, r=glandium
Hook this into the browser via the XREAppData. This patch does not include the changes to Chromium source code.

--HG--
extra : rebase_source : 4d5637bcdbeae605b0b99e9192598d48f371b698
2017-02-14 15:08:40 -08:00
Sebastian Hengst 68e7240c0c Backed out changeset 71b9ac06a60a (bug 1284897) 2017-02-21 23:13:29 +01:00
David Parks 82eb0f3fdd Bug 1284897 - Add mechanism to libsandbox_s to track names of files that have been given special sandbox access permissions (PermissionsService). r=bobowen, r=glandium
Hook this into the browser via the XREAppData. This patch does not include the changes to Chromium source code.

--HG--
extra : rebase_source : e34e8b50101cc40ded26e80791052123b24c8243
extra : histedit_source : 69c9b2dc91546adbfdad03b5d43842809191ffb9
2017-02-14 15:08:40 -08:00
Tom Tromey d2667a2b27 Bug 1060419 - make AppendPrintf and nsPrintfCString use Printf.h, r=froydnj
MozReview-Commit-ID: 2E8FoiNxU8L

--HG--
extra : rebase_source : 810ac727bef0751f24edea18c52e0ec170bf367d
2016-12-14 09:32:21 -07:00
Tom Tromey aa2c6e6ff5 Bug 1060419 - make nsAppRunner.cpp use Printf.h, r=froydnj
MozReview-Commit-ID: Al0y5RiHCBZ

--HG--
extra : rebase_source : e297302fae61050c725fdab3990ff69976621192
2016-12-09 14:00:21 -10:00
Sylvestre Ledru 433d2ee658 Bug 1338086 - Remove useless else blocks in order to reduce complexity in toolkit/xre/ r=jimm
MozReview-Commit-ID: 33kF2DJl0Mi

--HG--
extra : rebase_source : c1a334c764eceac8b25323ba1cd87f8dc57710c4
2017-02-09 10:57:44 +01:00
Gregory Moore ea25a9f712 Bug 883627 - Updated CreateResetProfile() to use the existing profile name for the newly created profile, r=gijs
MozReview-Commit-ID: Gkul477NIDG

--HG--
extra : amend_source : 239723bbd06e20dde68f2ac82ff4bc149c2b46d6
2017-02-09 15:29:58 -08:00
Martin Stransky 97b5e78aac Bug 1336048 - Add display detection to dom/ipc/ContentChild.cpp, r=glandium
MozReview-Commit-ID: CwcGXFiIl4e

--HG--
extra : rebase_source : 04a6b70562cf292f2d5ba45b8e72788684f3baa8
2017-02-07 14:34:23 +01:00
Masatoshi Kimura 6b1547b6a1 Bug 1334866 - Remove Windows XP support from toolkit/xre/. r=bsmedberg
MozReview-Commit-ID: H93Jx632Olg

--HG--
extra : rebase_source : 11235d29f0e41447ab71c39277dc1e43320e674c
2017-01-29 16:17:37 +09:00
Felipe Gomes c03b6cb044 Bug 1329752 - Don't enable e10s for XP users on ESR. r=jimm
MozReview-Commit-ID: CD9wvSOIj0s

--HG--
extra : rebase_source : 273613ef6e6a4f7dd0c4708d22f8081062e3ef5d
2017-02-03 16:25:30 -02:00
Sebastian Hengst 84697e5dbd Backed out changeset 96ecba4a2327 (bug 1329752) for Windows build bustage due to attempted string conversion ins nsAppRunner.cpp. r=backout on a CLOSED TREE 2017-02-03 18:29:09 +01:00
Felipe Gomes 551dbcd7d1 Bug 1329752 - Don't enable e10s for XP users on ESR. r=jimm
MozReview-Commit-ID: H8XednifbBu

--HG--
extra : rebase_source : aff357d0e0ffd99848938aaa8238b1cfdfd71394
2017-02-02 16:14:38 -02:00
Mike Hommey 7523430127 Bug 1330533 - Use FuzzerDriver directly instead of wrapping it in a libfuzzer_main function. r=decoder
Going further from the previous changes, all libfuzzer_main really does
is call the init function, and then proceed to call the fuzzer driver
with the testing function.

So instead of calling that function for it to do all that, the
LibFuzzerRunner can just call the init function itself, and then
call the fuzzer driver with the testing function.

--HG--
extra : rebase_source : 2eb1a2ae763ef21827471cd32addceacefc1ac5d
2017-01-12 14:44:18 +09:00
Mike Hommey 92c5bff388 Bug 1330533 - Remove argc/argv arguments to XRE_LibFuzzerSetMain. r=decoder
The function given to XRE_LibFuzzerSetMain is called from somewhere that
does have access to argc/argv already, so we can avoid passing them
to XRE_LibFuzzerSetMain.

This actually might fix subtle issues with argc/argv not really matching
reality when calling the LibFuzzerMain function in the current code:
some arguments are handled before the call, and both argc and argv are
modified from within XRE_main, but the values stored for the
LibFuzzerMain call still are the original ones.

Argv being a pointer, and it not being reallocated, the value stored for
the LibFuzzerMain call points to the changed one, but argc, being an
integer, is not modified accordingly.

In fact, it's actually worse, because while the Gecko code doesn't
reallocate argv, gtk_main might. So if some GTK flag is passed on the
command line, there's also a possibility that the LibFuzzerMain function
will do a use-after-free.

So all in all, it's just better to use the set of modified argc/argv
from XRE_main instead of storing them from main().

--HG--
extra : rebase_source : 92b89909eab0fc2f67ce372b959bb0e3ed12cd2b
2017-01-12 11:59:37 +09:00