Commit Graph

16658 Commits

Author SHA1 Message Date
Nika Layzell
45397cbfdd Bug 1779792 - Part 4: Deduplicate ProcessChild subclass constructors, r=ipc-reviewers,necko-reviewers,media-playback-reviewers,alwu,mccr8
These constructors are unnecessary and can be defined with a `using` statement,
making it easier to change all constructors simultaneously.

Differential Revision: https://phabricator.services.mozilla.com/D153620
2022-08-10 14:55:23 +00:00
Nika Layzell
2ac29a461a Bug 1779792 - Part 3: Use an endpoint to bind the initial actor in parent processes, r=ipc-reviewers,necko-reviewers,media-playback-reviewers,alwu,mccr8
This improves consistency with the child process case, and will make it easier
to attach additional state without needing to thread it through every child
process callsite manually.

Differential Revision: https://phabricator.services.mozilla.com/D153619
2022-08-10 14:55:22 +00:00
Nika Layzell
d45df271ec Bug 1779792 - Part 2: Use an Endpoint to bind the initial actor in child processes, r=ipc-reviewers,necko-reviewers,media-playback-reviewers,mccr8,alwu
This type is also used in other places to start non-initial actors, and will
allow us to attach additional state more easily without needing to thread it
through every child process callsite manually.

Differential Revision: https://phabricator.services.mozilla.com/D153618
2022-08-10 14:55:22 +00:00
Jed Davis
6a37a2ab93 Bug 1778052 - Don't reset ignored signals when starting a sandboxed child process on Linux. r=gcp
We uninstall signal handlers in child processes after clone(), because
they probably won't do the right thing if invoked in that context.
However, the current code also resets signals which were ignored;
if that disposition was set by an outside program like `nohup`, the
expectation is that it should be inherited.  This patch omits those
signals when resetting handlers (similar to what `exec` does).

Differential Revision: https://phabricator.services.mozilla.com/D151336
2022-08-09 00:35:18 +00:00
ffxbld
832ff8bc53 No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D153942
2022-08-08 12:57:52 +00:00
ffxbld
9ed83283ae No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D153744
2022-08-04 13:43:03 +00:00
Fabrice Desré
c50cb528fc Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D152575
2022-08-03 16:39:41 +00:00
Andreea Pavel
3ccd75af8d Backed out changeset b9d2965591b9 (bug 1761040) for landing with wrong author CLOSED TREE DONTBUILD 2022-08-03 18:55:00 +03:00
Andreea Pavel
fdb7cb2ecd Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D152575
2022-08-03 15:27:43 +00:00
Mark Banner
7428be4a86 Bug 1782008 - Remove now unnecessary .eslintrc.js files. r=webcompat-reviewers,extension-reviewers,media-playback-reviewers,pip-reviewers,denschub,rpl,alwu,mossop
Differential Revision: https://phabricator.services.mozilla.com/D152736
2022-08-03 11:16:20 +00:00
Dennis Jackson
7ac4427e01 Bug 1781075 - Add test cases for ECH connections with incorrect ALPN advertisements. r=necko-reviewers,kershaw
These tests set up an ECH server which will only negotiate http/1.1 in the TLS ALPN extension.
If the client doesn't send an ALPN offering at least http/1.1 the connection will fail with
SSL_ERROR_NEXT_PROTOCOL_NO_PROTOCOL.

Differential Revision: https://phabricator.services.mozilla.com/D153368
2022-08-02 19:59:22 +00:00
Andreea Pavel
89d63c91e6 Backed out changeset a907159a482f (bug 1761040) for causing build bustages on a CLOSED TREE 2022-08-02 04:59:08 +03:00
Fabrice Desré
0f4ac7ad97 Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D152575
2022-08-02 00:49:41 +00:00
ffxbld
1d8c226620 No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D153373
2022-08-01 16:51:54 +00:00
Nika Layzell
c15823d075 Bug 1772006 - Part 5: Simplify and move the string searching APIs from ns[T]StringObsolete, r=xpcom-reviewers,necko-reviewers,eeejay,dragana,barret
The biggest set of APIs from ns[T]StringObsolete which are still heavily used
are the string searching APIs. It appears the intention was for these to be
replaced by the `FindInReadable` APIs, however that doesn't appear to have
happened.

In addition, the APIs have some quirks around their handling of mixed character
widths. These APIs generally supported both narrow strings and the native
string type, probably because char16_t string literals weren't available until
c++11. Finally they also used easy-to-confuse unlabeled boolean and integer
optional arguments to control behaviour.

These patches do the following major changes to the searching APIs:

1. The ASCII case-insensitive search method was split out as
   LowerCaseFindASCII, rather than using a boolean. This should be less
   error-prone and more explicit, and allows the method to continue to use
   narrow string literals for all string types (as only ASCII is supported).
2. The other [R]Find methods were restricted to only support arguments with
   matching character types. I considered adding a FindASCII method which would
   use narrow string literals for both wide and narrow strings but it would've
   been the same amount of work as changing all of the literals to unicode
   literals.
   This ends up being the bulk of the changes in the patch.
3. All find methods were re-implemented using std::basic_string_view's find
   algorithm or stl algorithms to reduce code complexity, and avoid the need to
   carry around the logic from nsStringObsolete.cpp.
4. The implementations were moved to nsTStringRepr.cpp.
5. An overload of Find was added to try to catch callers which previously
   called `Find(..., false)` or `Find(..., true)` to set case-sensitivity, due
   to booleans normally implicitly coercing to `index_type`. This should
   probably be removed at some point, but may be useful during the transition.

Differential Revision: https://phabricator.services.mozilla.com/D148300
2022-07-30 00:12:48 +00:00
Nika Layzell
997047e2a4 Bug 1772006 - Part 4: Simplify and move the string comparison APIs from ns[T]StringObsolete, r=xpcom-reviewers,necko-reviewers,dragana,barret
This patch moves EqualsIgnoreCase to ns[T]StringObsolete, and removes
the aCount argument, instead migrating callers to use `StringBeginsWith`
with a case-insensitive comparator.

In addition, nsTStringRepr::Compare was removed and replaced with either
calls to methods like `StringBeginsWith` or the global `Compare` method.

These changes required some modifications at call-sites but should make
the behaviour less surprising and more consistent.

Differential Revision: https://phabricator.services.mozilla.com/D148299
2022-07-30 00:12:48 +00:00
Dana Keeler
12ac90f435 Bug 1781466 - gather telemetry for PSM UI elements slated for removal r=djackson
Depends on D152942

Differential Revision: https://phabricator.services.mozilla.com/D152943
2022-07-28 20:04:31 +00:00
Dana Keeler
5a8efd3f8c Bug 1781466 - remove obsolete exception dialog telemetry r=djackson
Differential Revision: https://phabricator.services.mozilla.com/D152942
2022-07-28 20:04:31 +00:00
ffxbld
f6e48e8f08 No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D153075
2022-07-28 12:41:48 +00:00
Jed Davis
4552fc73a3 Bug 1779312 - Replace uses of strerror in Linux sandbox code. r=glandium
`strerror` is async signal unsafe, and we're using it in contexts where
that's a problem: in particular in the child process after `clone()`ing,
where it can deadlock if it takes locks the parents' other threads had
held (or cause other undefined behavior), but also in the SIGSYS handler
if it's nested inside an async signal.  It's also thread-unsafe.

This is mostly a mechanical replacement with the new `SANDBOX_LOG_ERRNO`
or `SANDBOX_LOG_WITH_ERROR`; two messages had the error string in the
middle and have been adjusted.

Differential Revision: https://phabricator.services.mozilla.com/D152099
2022-07-27 19:41:05 +00:00
Jed Davis
05621d57dc Bug 1779312 - Add macros for Linux sandbox logging with an error code. r=glandium
This adds two new logging macros, which are intended to be async signal
safe:

* `SANDBOX_LOG_ERRNO`, which appends the error similarly to `perror` but
   uses the error identifier (e.g., `EINVAL` instead of `Invalid argument`).
   Unlike `perror`, formatting directives are available as for `SANDBOX_LOG`.

* `SANDBOX_LOG_WITH_ERROR` is the same thing but the error number is the
  first argument instead of using `errno`; this is useful for newer POSIX
  APIs which return an error number.

This will be used in the next patch to replace the existing use of
`strerror`, which is not async signal safe (or thread-safe).

Differential Revision: https://phabricator.services.mozilla.com/D152098
2022-07-27 19:41:05 +00:00
Jed Davis
fd918ffb96 Bug 1779312 - Rename SANDBOX_LOG_ERROR to just SANDBOX_LOG. r=glandium
Originally this was written for B2G and used the Android logging
facility, which (like syslog) includes a severity level.  However, all
current usage is on desktop where we just write to stderr, and there was
never much demand to add support for any log levels besides "error".

More importantly for the current situation, renaming the macro to
`SANDBOX_LOG` avoids confusion between `SANDBOX_LOG_ERROR` and
`SANDBOX_LOG_ERRNO` (or `SANDBOX_LOG_ERROR_ERRNO` or whatever).

Differential Revision: https://phabricator.services.mozilla.com/D152097
2022-07-27 19:41:04 +00:00
Jed Davis
4fb97a1c3d Bug 1779312 - Preliminary fixes to some misuses of SANDBOX_LOG_ERROR. r=glandium
Two minor things I noticed while converting the existing sandbox logging:

1. One call site was using %u, but that doesn't exist in this printf
   dialect, only %d; signedness is determined by the actual argument
   type via template magic.

2. POSIX functions that return an error number just return the number;
   there was one place that was negating it before use, as if it had
   come from the Linux syscall ABI.

Differential Revision: https://phabricator.services.mozilla.com/D152096
2022-07-27 19:41:04 +00:00
Tooru Fujisawa
a032f53a63 Bug 1780543 - Part 5: Add mozilla/chrome-script environment. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D152430
2022-07-26 02:46:30 +00:00
Emilio Cobos Álvarez
42b7f1a58c Bug 1780788 - Use abstract strings as in-arguments for ipdl. r=nika,necko-reviewers,media-playback-reviewers,alwu,dragana
This prevents copies and avoids the hack we have to avoid this, which
right now is using nsDependent{C,}String.

Non-virtual actors can still use `nsString` if they need to on the
receiving end.

Differential Revision: https://phabricator.services.mozilla.com/D152519
2022-07-25 20:19:48 +00:00
ffxbld
6506fc7cf1 No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=diannaS
Differential Revision: https://phabricator.services.mozilla.com/D152635
2022-07-25 13:16:50 +00:00
Alexandre Lissy
9c3474ae19 Bug 1775263 - Block cyinjct.dll from being injected in Utility r=haik,handyman
Differential Revision: https://phabricator.services.mozilla.com/D150595
2022-07-22 13:47:58 +00:00
Dana Keeler
30b914478f Bug 1779973 - treat failure to parse certificate validity as a time error r=djackson
Differential Revision: https://phabricator.services.mozilla.com/D152333
2022-07-21 23:51:01 +00:00
Dennis Jackson
3bde9bff24 Bug 1779398 - land NSS NSS_3_81_RTM UPGRADE_NSS_RELEASE, r=nss-reviewers,nkulatova DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D152398
2022-07-21 13:50:49 +00:00
Dennis Jackson
7a55bf9c23 Bug 1780014: Add specific telemetry for conservative and first-try handshakes. r=keeler.
This patch adds two new telemetry histograms which collect specific types
of TLS handshake seperately from existing handshakes.
 - The conservative histogram tracks handshakes used for essential connections (e.g. update checks)
 - The first-try histogram tracks all initial connection attempts. This allows us to identify issues that might otherwise be masked by our retry logic.

A single handshake may belong to more than one histogram. All handshakes belong to the root histogram.
As the histogram buckets are aligned, it is possible to derive new histograms from these stored results.
For example, as ECH GREASE is only used on first-try handshakes, the histogram from non-GREASE first-try
handshakes can be calculated by subtracting the entries in the GREASE histogram from the first-try histogram.

This patch also extends the existing handshake necko tests to verify that the telemetry is recorded correctly.
Telemetry checks don't run if networking is running on the socket process as the histograms are no longer
accessible.

Differential Revision: https://phabricator.services.mozilla.com/D150754
2022-07-21 11:02:32 +00:00
Dana Keeler
43dc5f66a3 Bug 1779848 - don't assert if mFd is null in nsNSSSocketInfo::ClientAuthCertificateSelected r=ckerschb
If nsNSSSocketInfo::mFd is nullptr, it means the connection has been closed.
This isn't an error, and ClientAuthCertificateSelected shouldn't assert if this
happens.

Differential Revision: https://phabricator.services.mozilla.com/D151962
2022-07-19 23:12:21 +00:00
Dana Keeler
270df11f4c Bug 1770269 - Enable EV Treatment for E-Tugra v3 Global root certificates r=rmf
Differential Revision: https://phabricator.services.mozilla.com/D151749
2022-07-19 22:16:34 +00:00
Dana Keeler
2985f72f3a Bug 1764397 - Enable EV Treatment for Digicert G5 root certificates r=rmf
Differential Revision: https://phabricator.services.mozilla.com/D151748
2022-07-19 22:16:33 +00:00
Anna Weine
c37b09ca3b Bug 1779398 - land NSS 164849c15197 UPGRADE_NSS_RELEASE, r=nss-reviewers,djackson
2022-07-18  Kai Engert  <kaie@kuix.de>

	* lib/certhigh/certvfy.c:
	Bug 1777672 - Gracefully handle null nickname in
	CERT_GetCertNicknameWithValidity. r=rrelyea

	[164849c15197] [tip]

Differential Revision: https://phabricator.services.mozilla.com/D152169
2022-07-19 12:49:20 +00:00
ffxbld
5c3ca70147 No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=diannaS
Differential Revision: https://phabricator.services.mozilla.com/D152019
2022-07-18 13:01:12 +00:00
Haik Aftandilian
a064a6ac2d Bug 1779816 - Don't specify entitlements that use the default setting of false r=mac-reviewers,bradwerth
Cleanup our entitlement files by removing entitlements that use the default setting of false.

production.entitlements.xml and developer.entitlements.xml are used today.

The browser and plugin-container entitlement lists will be used when we enable using different entitlements for parent and child processes.

Differential Revision: https://phabricator.services.mozilla.com/D151943
2022-07-15 19:30:47 +00:00
Andi-Bogdan Postelnicu
bbf960e82c Bug 1617369 - Reformat recent rust changes with rustfmt r=emilio
Updated with rustfmt 1.4.38-stable (a8314ef 2022-06-27)
# ignore-this-changeset

Depends on D151908

Differential Revision: https://phabricator.services.mozilla.com/D151909
2022-07-15 09:37:22 +00:00
Kagami Sascha Rosylight
bb679fa417 Bug 1769290 - Part 24: Apply mozilla-js-handle-rooted-typedef against layout,security,storage,tools r=andi
Differential Revision: https://phabricator.services.mozilla.com/D151791
2022-07-14 17:00:24 +00:00
ffxbld
643780ce3b No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=diannaS
Differential Revision: https://phabricator.services.mozilla.com/D151817
2022-07-14 11:59:52 +00:00
Dennis Jackson
7246d5248d Bug 1779398 - land NSS cafb891ea6ce UPGRADE_NSS_RELEASE, r=nss-reviewers,bbeurdouche
Differential Revision: https://phabricator.services.mozilla.com/D151714
2022-07-13 17:29:07 +00:00
Tooru Fujisawa
54623364da Bug 1777486 - Part 2: Migrate XPCOMUtils.jsm consumers with automatic migration. r=webdriver-reviewers,geckoview-reviewers,preferences-reviewers,application-update-reviewers,pip-reviewers,kmag,owlish,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D151214
2022-07-12 04:21:34 +00:00
Barret Rennie
305b4cd077 Bug 1772941 - Port osfile.jsm usage to IOUtils in toolkit/content/ r=florian,preferences-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D149303
2022-07-12 00:25:35 +00:00
Andreea Pavel
7738a75fdd Backed out 11 changesets (Bug 1777486) for failing bc at browser_startup.js on a CLOSED TREE
Backed out changeset b6c4c386f1a6 (Bug 1777486)
Backed out changeset 195cc2de8433 (Bug 1777486)
Backed out changeset 20c746fb1648 (Bug 1777486)
Backed out changeset d5fd8173d62d (Bug 1777486)
Backed out changeset 6d758fab5a3e (Bug 1777486)
Backed out changeset e938b601ba15 (Bug 1777486)
Backed out changeset 0c4ea0b9416b (Bug 1777486)
Backed out changeset 0559c53cc668 (Bug 1777486)
Backed out changeset eea573d3a9f9 (Bug 1777486)
Backed out changeset 9ce3a6496a49 (bug 1777486)
Backed out changeset b0867652fc48 (bug 1777486)
2022-07-11 22:24:40 +03:00
Tooru Fujisawa
8cd6ed7409 Bug 1777486 - Part 2: Migrate XPCOMUtils.jsm consumers with automatic migration. r=webdriver-reviewers,geckoview-reviewers,preferences-reviewers,application-update-reviewers,pip-reviewers,kmag,owlish,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D151214
2022-07-11 15:09:13 +00:00
ffxbld
a57d022de1 No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=diannaS
Differential Revision: https://phabricator.services.mozilla.com/D151486
2022-07-11 13:12:23 +00:00
Tooru Fujisawa
52c95734e7 Bug 1667455 - Part 9: Stop importing Services.jsm from chrome-priv HTML code, single-line cases. r=kmag,necko-reviewers,geckoview-reviewers,extension-reviewers,m_kato,dragana
Differential Revision: https://phabricator.services.mozilla.com/D150898
2022-07-11 12:41:52 +00:00
Tooru Fujisawa
47c8f80432 Bug 1667455 - Part 6: Stop importing Services.jsm from chrome-priv JS code, non-top-level or multi-line cases. r=kmag,perftest-reviewers,AlexandruIonescu,sparky
Differential Revision: https://phabricator.services.mozilla.com/D150895
2022-07-11 12:41:51 +00:00
Tooru Fujisawa
bf93d07148 Bug 1667455 - Part 5: Stop importing Services.jsm from chrome-priv JS code, top-level single-line cases. r=kmag,webdriver-reviewers,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,extension-reviewers,application-update-reviewers,pip-reviewers,twisniewski,m_kato,jdescottes,mconley,AlexandruIonescu,mossop
Differential Revision: https://phabricator.services.mozilla.com/D150894
2022-07-11 12:41:50 +00:00
Tooru Fujisawa
f3a8c52c53 Bug 1667455 - Part 4: Stop importing Services.jsm from JSM. r=kmag,webdriver-reviewers,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,application-update-reviewers,pip-reviewers,twisniewski,devtools-reviewers,m_kato,jdescottes,ochameau,mconley,sfoster,AlexandruIonescu
Differential Revision: https://phabricator.services.mozilla.com/D150893
2022-07-11 12:41:50 +00:00
ffxbld
7863aace6c No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=diannaS
Differential Revision: https://phabricator.services.mozilla.com/D151241
2022-07-07 14:24:35 +00:00