Commit graph

1130 commits

Author SHA1 Message Date
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
Dave Townsend
186e21eefd Bug 1455707: Remove CanShowProfileManager(). r=froydnj
MozReview-Commit-ID: IXDSW8suEBd

--HG--
extra : rebase_source : a517542072e5327f05d16de8f7f99b1b12b862db
extra : source : 9fdd083f0acccbf31eb37e5e4f4cefa44e57bd41
2018-05-15 10:43:55 -07:00
Daosheng Mu
8ac5934ce1 Bug 1430038 - Part 1: Add VR process to the process list; r=kip, jimm
Summary: MozReview-Commit-ID: AWyFur2gLCQ

Tags: #secure-revision

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

MozReview-Commit-ID: HHGDiXyaqnB

--HG--
extra : rebase_source : cbb94eb1aaca4ca385559c0e997b508a80121105
2018-06-22 16:30:14 -07:00
Henri Sivonen
3edc601325 Bug 1402247 - Use encoding_rs for XPCOM string encoding conversions. r=Nika,erahm,froydnj.
Correctness improvements:

 * UTF errors are handled safely per spec instead of dangerously truncating
   strings.

 * There are fewer converter implementations.

Performance improvements:

 * The old code did exact buffer length math, which meant doing UTF math twice
   on each input string (once for length calculation and another time for
   conversion). Exact length math is more complicated when handling errors
   properly, which the old code didn't do. The new code does UTF math on the
   string content only once (when converting) but risks allocating more than
   once. There are heuristics in place to lower the probability of
   reallocation in cases where the double math avoidance isn't enough of a
   saving to absorb an allocation and memcpy.

 * Previously, in UTF-16 <-> UTF-8 conversions, an ASCII prefix was optimized
   but a single non-ASCII code point pessimized the rest of the string. The
   new code tries to get back on the fast ASCII path.

 * UTF-16 to Latin1 conversion guarantees less about handling of out-of-range
   input to eliminate an operation from the inner loop on x86/x86_64.

 * When assigning to a pre-existing string, the new code tries to reuse the
   old buffer instead of first releasing the old buffer and then allocating a
   new one.

 * When reallocating from the new code, the memcpy covers only the data that
   is part of the logical length of the old string instead of memcpying the
   whole capacity. (For old callers old excess memcpy behavior is preserved
   due to bogus callers. See bug 1472113.)

 * UTF-8 strings in XPConnect that are in the Latin1 range are passed to
   SpiderMonkey as Latin1.

New features:

 * Conversion between UTF-8 and Latin1 is added in order to enable faster
   future interop between Rust code (or otherwise UTF-8-using code) and text
   node and SpiderMonkey code that uses Latin1.

MozReview-Commit-ID: JaJuExfILM9
2018-08-14 14:43:42 +03:00
Gabriele Svelto
15adf94f4d Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant C++ functions are updated to take a typed enum. JavaScript
calls are unaffected but they will throw if the string argument does not
correspond to one of the known entries in the C++ enum. The existing whitelists
and blacklists of annotations are also generated from the YAML file and all
duplicate code related to them has been consolidated. Once written out to the
.extra file the annotations are converted in string form and are no different
than the existing ones.

All existing annotations have been included in the list (and some obsolete ones
have been removed) and all call sites have been updated including tests where
appropriate.

--HG--
extra : source : 4f6c43f2830701ec5552e08e3f1b06fe6d045860
2018-07-05 15:42:11 +02:00
Tiberius Oros
036999d0a9 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-25 13:43:03 +03:00
Robert Bartlensky
48c813758b Bug 1476314: Fix errors reported by infer in toolkit/*. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D2266

--HG--
extra : moz-landing-system : lando
2018-07-23 23:38:46 +00:00
Aaron Klotz
afe18923e0 Bug 1477402: Wrap WaitForInputIdle with checks for ERROR_NOT_GUI_PROCESS failures; r=agashlin
widget/windows/WinUtils.h is getting unwieldy and contains a combination of
both header-only and non-header-only code. I thought I'd take the opportunity
with this patch to create a new file for self-contained, header-only utility
functions, with the hope that we can eventually migrate some stuff out of
WinUtils into WinHeaderOnlyUtils in the future.

--HG--
extra : rebase_source : 6c874f78fc7113d1f7011fcd57ad9d024edb6761
2018-07-20 15:54:08 -06:00
Brian Hackett
2e7e38ee57 Bug 1465477 Part 2 - Add --save-recordings option to the firefox command line, r=jimm.
--HG--
extra : rebase_source : 0ee3673b7006f38d13d1e652cdc92d81d277fb45
2018-07-23 21:52:10 +00:00
Kris Maglione
07727ed247 Bug 1477129: Part 3 - Re-enable e10s on FreeBSD. r=froydnj
Backed out changeset 197fcba26a38

MozReview-Commit-ID: 4OOmP91hKXQ

--HG--
extra : rebase_source : 92d3e01734c6154261a8003fcc481c9d81f00c38
2018-07-19 18:18:27 -07:00
Brian Hackett
3354a96d8d Bug 1465287 Part 8 - Allow spawning recording/replaying child processes and saving recordings, r=jld,mrbkap.
--HG--
extra : rebase_source : 1da4b1a7e485cfdafb38318860546ce3d0552815
2018-07-22 11:52:42 +00:00
Jan Beich
7d61fe74ac Bug 1475970 - Disable e10s on FreeBSD by default due to kernel bug. r=froydnj
MozReview-Commit-ID: UqaO9sZWr

--HG--
extra : rebase_source : eab027f9fa60d7c6ad65f14c5793b2025cba9ef3
2018-07-19 18:43:40 +00:00
Gurzau Raul
78bf6cbd3a Backed out changeset 47b3297877fa (bug 1476314) for bustage at z:/build/build/src/config/rules.mk [nsAppRunner.obj] on a CLOSED TREE 2018-07-19 17:36:31 +03:00
Robert Bartlensky
cc7457bf9e Bug 1476314: Fix errors reported by infer in toolkit/*. r=Ehsan
MozReview-Commit-ID: DUVbLo6f4G6

--HG--
extra : rebase_source : bc2ef3c84e0fe7966244585b137f2440e1e74d51
2018-07-17 17:27:49 +01:00
Christian Holler
2a3b6f8ca3 Bug 1471532 - Support Windows in ASan Nightly Reporter builds. r=froydnj
MozReview-Commit-ID: AK2dBOgoazY

--HG--
extra : rebase_source : 1065a2f3b10913ac574cf1187d717f21fc2994e6
extra : histedit_source : 3042e51e496e4e8593b367d89332a9199bf3999c
2018-06-27 11:19:00 +02:00
Coroiu Cristina
5416c68fa2 Backed out changeset 64f3290fac6e (bug 1471532) on reqest by decoder a=backout 2018-06-30 00:57:00 +03:00
Christian Holler
bdf8e4d393 Bug 1471532 - Support Windows in ASan Nightly Reporter builds. r=froydnj
MozReview-Commit-ID: AK2dBOgoazY

--HG--
extra : rebase_source : 6ed99ce79180f2a6f2d54a0898cb02acbd6e9fb6
2018-06-27 11:19:00 +02:00
Felipe Gomes
29b9e465b8 Bug 1470956 - Remove the E10S_STATUS and E10S_BLOCKED_FROM_RUNNING telemetry probes. r=chutten 2018-06-27 00:28:16 -03:00
Honza Bambas
eef37ac56e Bug 1413868. r=valentin 2018-06-07 13:56:16 -04:00
Adam Gashlin
b8a8b3a714 Bug 1463560: Part 2: Re-add the -os-restarted arg when launching from profile manager. r=jimm
MozReview-Commit-ID: 85dQpYT5I9M

--HG--
extra : rebase_source : ba9519fde4a6b6762a328a211a23646c435e76f8
2018-05-27 12:22:42 -07:00
Emilio Cobos Álvarez
fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Marco Castelluccio
946adaddaa Bug 1465739 - Don't crash when there are late writes in all coverage builds. r=froydnj
--HG--
extra : rebase_source : 214929e40b4275b7deed6dc1f51280e3b316fba2
2018-05-30 16:47:36 +02:00
Panos Astithas
f041fb6e3c Bug 1461851 - Properly add the source URL in the profiler metadata. r=glandium
MozReview-Commit-ID: 53M4bGolmJk

--HG--
extra : rebase_source : f0da66755c92d2937f5fad1f5784f9a81829c951
2018-05-15 16:44:44 -07:00
Gurzau Raul
bcd412f2a9 Backed out changeset 602bdd9d5a96 (bug 1461851) for linting failures on /checkouts/gecko/build/appini_header.py on a CLOSED TREE 2018-05-30 19:03:50 +03:00
Panos Astithas
9be1c58dd1 Bug 1461851 - Properly add the source URL in the profiler metadata. r=glandium
MozReview-Commit-ID: 53M4bGolmJk

--HG--
extra : rebase_source : 17c2f3922d04b1ee7e168837f4440bb1b0abc218
2018-05-15 16:44:44 -07:00
Martin Stransky
969b3897fc Bug 1465371 - [Wayland] Use DBus XRemote for wayland builds exclusively, r=jhorak
MozReview-Commit-ID: 4NqDtJVVc6X

--HG--
extra : rebase_source : b07159d3c590a4051d64a971e86d8fafd7608f6a
2018-05-30 12:26:51 +02:00
Adam Gashlin
cdb01305b3 Bug 603903 - Part 1: add RegisterApplicationRestart r=jimm
MozReview-Commit-ID: Eb389ih7CIn

--HG--
extra : rebase_source : b8657950fb08b899528d3ac3720a31769b3e14ba
2018-05-15 15:37:45 -07:00
Adam Gashlin
22530d5691 Bug 1451366: Part 1 - Wait after launch from update and restart, r=mhowell, jimm 2018-05-14 14:43:36 -07:00
Jed Davis
bfc90a5627 Bug 1401776 - Raise fd limit to 4096 on Unix. r=glandium,mcmanus
This is to accommodate non-networking fd usage (IPC transports, various
databases, .xpi files, etc.), so it's separate from Necko's existing
manipulation of the fd limit, which is tied into Necko's internal limits
on how many sockets it will try to poll at once.

Note that resource limits are inherited by child processes, so this needs
to be done only in the parent.

This patch also removes similar code used on Solaris and Mac OS X.  The
Mac case (bug 1036682) refers to fd use by graphics textures, which
shouldn't be consuming fds anymore (even transiently) as of bug 1161166.

MozReview-Commit-ID: 2uodrkW5sUn

--HG--
extra : rebase_source : 5306f4995000459b89bed048ecafba3c262bbbdf
2018-05-10 17:36:32 -06:00
Aaron Klotz
54b1b3b99d Bug 1457999: Part 1 - Move command line argument utils and safe mode checks into a common header file; r=jimm 2018-04-19 17:22:41 -06:00
Aaron Klotz
580a1a60b9 Bug 1457999: Backed out changeset 3b3a2ae3a6d3 due to Linux bustage; r=backout CLOSED TREE
--HG--
extra : histedit_source : 4cf63e65bd53e89ca9165d19642a9328c3eeeaa6
2018-05-07 11:22:14 -06:00
Aaron Klotz
9fc5eb0316 Bug 1457999: Part 1 - Move command line argument utils and safe mode checks into a common header file; r=jimm 2018-04-19 17:22:41 -06:00
Aaron Klotz
2cd522a2f4 Bug 1457999: Backed out changeset d838002f9a52 due to Linux preprocessor errors; r=backout CLOSED TREE
--HG--
extra : histedit_source : 0a31b8596f8525662a19f6221c605b19486baefc
2018-05-07 11:01:00 -06:00
Aaron Klotz
d6661abc54 Bug 1457999: Part 1 - Move command line argument utils and safe mode checks into a common header file; r=jimm
--HG--
extra : rebase_source : 368d45d026ddc658ba732b6f58fcd976c48ff7d4
2018-04-19 17:22:41 -06:00
Mike Hommey
ed54beeab0 Bug 1458161 - Hook rust OOM handler. r=froydnj
OOM rust crashes are currently not identified as such in crash reports
because rust libstd handles the OOMs and panics itself.

There are unstable ways to hook into this, which unfortunately are under
active changes in rust 1.27, but we're currently on 1.24 and 1.27 is not
released yet. The APIs didn't change between 1.24 and 1.26, so it's
fine-ish to use them as long as we limit their use to those versions.

As long as the Firefox versions we ship (as opposed to downstream) use
the "right" version of rust, we're good to go.

The APIs are in their phase of stabilization, so there shouldn't be too
many variants of the code to support.

--HG--
extra : rebase_source : 08a85aa102b24380b1f6764effffcc909ef3191b
2018-05-01 10:30:03 +09:00
Aaron Klotz
1244a64ac7 Bug 1455110: Replace RegOpenKeyEx/RegQueryValueEx with RegGetValue; r=jimm 2018-04-18 14:52:02 -06:00
Honza Bambas
198d72916a Bug 1451686 - Allow also -MOZ_LOG/_FILE=value form of the logging arguments. r=erahm 2018-04-13 05:38:00 -04:00
Jed Davis
62855368de Bug 1323302 - Refuse to run under sudo or otherwise as root in a non-root user's session. r=glandium
MozReview-Commit-ID: EFq9hULWqA8

--HG--
extra : rebase_source : d5b18d4486074996689f72a59095fb2253903fa3
2018-03-30 18:17:24 -06:00
Honza Bambas
31c173ca8a Bug 1443892 - Add -MOZ_LOG and -MOZ_LOG_FILE command line arguments. r=erahm, r=nfroyd 2018-04-03 11:32:00 -04:00
Sylvestre Ledru
fa45a3c670 Bug 1443080 - Use the static call for static methods (not instance) r=Ehsan
MozReview-Commit-ID: JwHh4bzxuTR

--HG--
extra : rebase_source : 5f5e37517aa80c2e7b5933962178d761074886e7
2018-03-16 14:29:15 +01:00
Yuki Hiroshi
6f6e95b2d4 Bug 1440573 - Policy: Disable safe mode. r=jimm,felipe
This policy disables the safe-mode UI entry points. In addition, only on Windows when using GPO, it also disables entering Safe Mode by holding down the Shift Key
2018-03-15 23:06:22 -03:00
Brindusan Cristian
ed15f7d5a4 Backed out changeset 83dffebb1536 (bug 1440573) for bc failures on browser_policy_disable_safemode.js CLOSED TREE 2018-03-16 05:15:39 +02:00
Yuki Hiroshi
22e8dbd8fb Bug 1440573 - Policy: Disable safe mode. r=jimm,felipe
This policy disables the safe-mode UI entry points. In addition, only on Windows when using GPO, it also disables entering Safe Mode by holding down the Shift Key
2018-03-15 23:06:22 -03:00
Andi-Bogdan Postelnicu
e5c7d41e14 Bug 1226574 - prevnet null pointer dereference in nsXULAppInfo::GetServerURL. r=ted
MozReview-Commit-ID: CJvGISGnnqQ

--HG--
extra : rebase_source : 1d60157b6322f421ed1814178379c9fadad45e9f
2018-03-13 12:55:44 +02:00
Chris Manchester
7f9cffd5ea Bug 1298328 - Fix dependency between buildid.h and libxul, do not re-generate buildid.h for every developer build. r=ted
For automation builds, force buildid.h to be regenerated, and always
#include buildid.h in nsAppRunner.cpp. This will eliminate the mismatch at the
cost of re-linking libxul on every build.

For developer builds, always #include buildid.h in nsAppRunner.cpp, but do not
force buildid.h to be re-generated for incremental builds. This means we will
never have a mismatch between platform and application buildids, although
subsequent builds are no longer guaranteed to have a new buildid.

MozReview-Commit-ID: 19hvu8AQXgN

--HG--
extra : rebase_source : 9f4fd063f89b9b2165d5889fdaa8f83104c4411c
2018-03-09 13:49:55 -08:00
Kris Maglione
bc31413f8e Bug 1422087: Follow-up: Add null check for when running from GTests. r=bustage CLOSED TREE
MozReview-Commit-ID: 4xLrAvk1f0C

--HG--
extra : rebase_source : 559d3897ab8fbf732ef0fa4f20f733aebc7c2539
2018-03-09 12:56:09 -08:00
Aaron Klotz
0b5fcae4d4 Bug 1424505: Backed out changeset 35129c889938 since it was speculative and didn't work. r=backout
--HG--
extra : rebase_source : 39f7e2c34ca70552db70823f73f6f126885c14a5
2018-03-09 13:35:37 -07:00
Kris Maglione
2faddce683 Bug 1422087: Purge startup caches after an incomplete startup. r=Mossop
Since we know that corrupt startup caches can and do cause startup crashes, we
should ideally purge them any time we detect that the last startup resulted in
a crash. The alternative is waiting until the users restart enough times to
trigger safe mode, and hope that they start in safe mode and then immediately
restart in normal mode. This is not a great user experience.

Unfortunately, the normal startup crash detection mechanism relies on
the preference service, which starts up far too late for us to make this
decision effectively.

To work around that, this patch adds a new startup crash detection mechanism
that creates an incomplete startup canary file which we remove at the end of
the startup crash detection window, or on any sort of graceful exit.

MozReview-Commit-ID: ALaLsyF4meg

--HG--
extra : rebase_source : c97f8a2cac2c30f8cc22b05a62058aef2ad07870
2018-03-05 15:19:07 -08:00
Aaron Klotz
be55264842 Bug 1424505: Ensure at least one consistent reference to the COM MTA at all times on Windows 7; r=jimm
--HG--
extra : amend_source : ef3973fa9b6ab347a45036dd955dc95aa9b254e0
extra : histedit_source : 0a4cb94e56250c8485d8e3aeb6f0d06eafb4bd6e
2018-03-06 17:06:54 -07:00
Masatoshi Kimura
a7c8bc12b4 Bug 1428258 - Stop using GetNativePath in nsAppRunner.cpp. r=mossop
GetPersistentDescriptor is suitable for serialization purpose.

MozReview-Commit-ID: 5IZI843ovAv

--HG--
extra : rebase_source : 54b23ca5a821f744255835fc32bea46329393c93
extra : intermediate-source : 9351bf26b7dcdf773c801f2f512bbda312aced11
extra : source : c5fca307c00bc31d43f1ac9a1026cf37dff82162
2017-12-16 23:02:26 +09:00