7927 Commits

Author SHA1 Message Date
Alex Lopez
a8e7083c84 Bug 1696251: Allow mach commands as stand-alone functions and adapt existing commands. r=mhentges,webdriver-reviewers,perftest-reviewers,sparky,whimboo
This removes the `@CommandProvider` decorator and the need to implement
mach commands inside subclasses of `MachCommandBase`, and moves all
existing commands out from classes to module level functions.

Differential Revision: https://phabricator.services.mozilla.com/D121512
2021-09-21 20:38:16 +00:00
Butkovits Atila
c06a3dd9fa Backed out changeset 510dd46a9de7 (bug 1696251) for causing Android build bustages. 2021-09-21 05:16:50 +03:00
Alex Lopez
fe61e94ec8 Bug 1696251: Allow mach commands as stand-alone functions and adapt existing commands. r=mhentges,webdriver-reviewers,perftest-reviewers,sparky,whimboo
This removes the `@CommandProvider` decorator and the need to implement
mach commands inside subclasses of `MachCommandBase`, and moves all
existing commands out from classes to module level functions.

Differential Revision: https://phabricator.services.mozilla.com/D121512
2021-09-20 20:21:07 +00:00
ffxbld
92e7975dba No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D126089
2021-09-20 13:59:31 +00:00
Butkovits Atila
e097708c27 Backed out 7 changesets (bug 1382886) for causing very frequent networking crashes. a=backout DONTBUILD
Backed out changeset e0d76ea1bdd2 (bug 1382886)
Backed out changeset 1db60c600b97 (bug 1382886)
Backed out changeset c922a30d444e (bug 1382886)
Backed out changeset 7f2260b49e60 (bug 1382886)
Backed out changeset 0c049a8ee4a8 (bug 1382886)
Backed out changeset 632eefa7e529 (bug 1382886)
Backed out changeset fe6b8f41ca83 (bug 1382886)
2021-09-18 12:37:24 +03:00
Dragana Damjanovic
3f98b48466 Bug 1382886 - Make sure that nsHttpConnection immediately knows that the handshake is done. r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D123919
2021-09-17 13:19:01 +00:00
Dragana Damjanovic
72ccc52dcc Bug 1382886 - Use HandshakeDone to signal that a handshake is done r=necko-reviewers,keeler,kershaw
HandshakeDone will be called after a handshake is finished and also after the certificate verifications are done.
The code relies on HandshakeDone to signal that the handshake is done. When early-data is not available HandshakeDone is responsible for setting up a Http2 session if needed. There are 2 outcomes when early-data is used:
1) early-data is accepted and transaction continues polling for read,
2) early-data is rejected. In this case, the transaction is restarted as well as polling flags, i.e. the connection will stop polling for read and start polling for write.
Another difference is that a transaction that is started during the early-data period will behave as a normal transaction, i.e. it will write data and continue polling for read to receive response. The special cases during early-data(mWaitingFor0RTTResponse==true) are removed from nsHttpConnection::OnSocketWritable().

EnsureNPNComplete is only responsible for driving handshake and checking the early-data availability. All logic for finishing a handshake (i.e. checking whether early-data is accepted and checking alpn value) has been moved to HandshakeDone.
The patch also extracts FinishNPNSetup that is responsible for the bookkeeping after a handshake is done or fails, e.g. resetting transactions if 0Rtt is used but handshake fails, updating timings and sending telemetry.

HandshakeDone needs to be dispatched so that it is not called inside nss locks. The side effect of this is that nsHttpConnection::OnSocketWritable() may be called in between  HandshakeDone being dispatched and executed. Therefore we still need to keep CheckCanWrite0RTTData(). This can be fixed in a follow up patch.

Side cleanups:
Remove mNotTrustedMitmDetected - his was used for ESNI, but it is not used anymore

Differential Revision: https://phabricator.services.mozilla.com/D123824
2021-09-17 13:19:01 +00:00
Dragana Damjanovic
1f0044c034 Bug 1382886 - Add a callback when the handshake is done. r=necko-reviewers,kershaw,keeler
Differential Revision: https://phabricator.services.mozilla.com/D123601
2021-09-17 13:19:00 +00:00
ffxbld
e4c4aa44cc No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D125820
2021-09-16 15:49:00 +00:00
Tim Huang
ea93c4f3a8 Bug 1664995 - Part 3: Add tests for private browsing mode. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D124470
2021-09-16 09:20:40 +00:00
Tim Huang
1a69e0aa82 Bug 1664995 - Part 2: Add tests to verify that OCSP cache is isolated by partitionKey. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D123958
2021-09-16 09:20:40 +00:00
Jens Stutte
87de42e070 Bug 1726813: Ensure AppShutdown remains in sync with shutdown notifications in the parent process. r=xpcom-reviewers,nika,dom-worker-reviewers,asuth
The goal here is to ensure we can always rely on `AppShutdown::GetShutdownPhase` to be in sync with the "real" application status, mainly this was needed for xpcshell tests to not break if we add assertions on our shutdown state on some global singletons.

We keep the existing observer notification topics but force them (on the parent process) to be issued through the new `advanceShutdownPhase` function of the startup service using the `ShutdownPhase` enum. This way we can synchronize `AppShutdown`'s internal status accordingly.

Some further notes:

  # The `MOZ_ASSERT(AppShutdown::IsNoOrLegalShutdownTopic(aTopic));` in `NotifyObservers` helped a lot to identify missing cases. I think we should keep it in order to stay safe.
  # Introducing the `cenum IDLShutdownPhase` helps to keep the knowledge about the mapping from shutdown phases to observer topics exclusively inside AppShutdown.cpp. Still callers must know what they do in order to choose a proper phase, of course.
  # However we must be aware that `AppShutdown` this way can be kept in sync with the shutdown notifications only in the parent process and that `GetCurrentShutdownPhase` might not give the correct result in child processes. We might want to file a follow up bug that adds some asserts to avoid improper use of `AppShutdown` functions in child processes (but I do not want to make this patch bigger as needed to solve the blocking dependency for bug 1697972).
  # The socket process is one example of a child process that "overloads" shutdown topics. I was wondering if it is the right call to use the very same topic names here to request shutdown to the socket process or if it should have its own topics. Those topics triggered the assert and thus I had to disable it for child processes, for now.
  # This goes together with the more general approach to define process type specific shutdown phases (and hence mappings to topics) as drafted very roughly in bug 1697745.
  # This patch seemed to trigger a known intermittent more often, thus the change here in `ServiceWorkerManager`.

Differential Revision: https://phabricator.services.mozilla.com/D124350
2021-09-15 07:25:29 +00:00
R. Martinho Fernandes
4fa1dee9c4 Bug 1713605 - Avoid NSS usage in CertVerifier::VerifySSLServerCert r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D118030
2021-09-14 18:11:05 +00:00
ffxbld
fb7c66cb59 No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D125385
2021-09-13 15:09:05 +00:00
ffxbld
a9b982bfec No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D125057
2021-09-09 14:38:12 +00:00
Ben Hearsum
1ce8af6321 Bug 1714200: annotate remaining M1 test failures. r=jmaher,application-update-reviewers,bytesized DONTBUILD
Depends on D124907

Differential Revision: https://phabricator.services.mozilla.com/D124908
2021-09-08 18:14:01 +00:00
Csoregi Natalia
f8eade1ce0 Backed out changeset 0b97742fcc62 (bug 1722306) for causing UI prompts on macOS pre-Big Sur. CLOSED TREE 2021-09-08 19:22:40 +03:00
Dana Keeler
a9849f5f68 Bug 1722306 - osclientcerts: differentiate between RSA keys that support RSA-PSS and those that do not on macOS r=rmf
This was previously attempted in bug 1658042, but the library function that
this relies on (SecKeyIsAlgorithmSupported) was causing OS dialogs to appear on
our test machines, so it wasn't a viable option. Something seems to have
changed in the meantime (perhaps these dialogs were a bug in macOS?), and now
the function works as expected without dialogs.

Differential Revision: https://phabricator.services.mozilla.com/D124114
2021-09-07 18:55:48 +00:00
ffxbld
a166f59fba No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D124611
2021-09-07 14:25:19 +00:00
Sylvestre Ledru
3cb3d2ac04 Bug 1729222 - pylint - ride along - remove items from the exclude + fix a warning r=linter-reviewers,marco DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D124581
2021-09-06 08:05:39 +00:00
Marian-Vasile Laza
c6b30230dd Backed out changeset f4a35daa5ed7 for causing build bustages. CLOSED TREE 2021-09-02 16:17:10 +03:00
ffxbld
2102d03a39 No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D124331
2021-09-02 12:55:49 +00:00
Agi Sferro
52b49a2dbe Bug 1676216 - Remove unused checkbox on promptAuth and similar. r=dimi,owlish,necko-reviewers,kershaw
The checkbox is never actually displayed (I think) so we don't need any of this
code.

Differential Revision: https://phabricator.services.mozilla.com/D122502
2021-09-01 23:42:25 +00:00
Dragana Damjanovic
9c5412108c Bug 1718719 - Disable the TLS early-data if proxy is use r=necko-reviewers,keeler,kershaw
Currently we do not use the early-data when a proxy is used, but we do not disable it in the nss layer.

Differential Revision: https://phabricator.services.mozilla.com/D123492
2021-09-01 19:57:10 +00:00
Iulian Moraru
0672e33a18 Backed out 8 changesets (bug 1676216, bug 1710668) for causing build bustages. CLOSED TREE
Backed out changeset b18aea9590ee (bug 1676216)
Backed out changeset bb5fc7f9df83 (bug 1676216)
Backed out changeset dfc0ce411a75 (bug 1676216)
Backed out changeset d83b518be746 (bug 1676216)
Backed out changeset a7c71027c898 (bug 1676216)
Backed out changeset 41fee786f8ec (bug 1676216)
Backed out changeset 86546e1132f5 (bug 1710668)
Backed out changeset 8e3d053f5f55 (bug 1710668)
2021-09-01 21:57:28 +03:00
Agi Sferro
22c6b5887b Bug 1676216 - Remove unused checkbox on promptAuth and similar. r=dimi,owlish,necko-reviewers,kershaw
The checkbox is never actually displayed (I think) so we don't need any of this
code.

Differential Revision: https://phabricator.services.mozilla.com/D122502
2021-09-01 17:19:41 +00:00
Sandor Molnar
1a9baf6591 Backed out changeset 028b3aadad28 (bug 1718719) for causing bustages in build fuzzing. CLOSED TREE 2021-09-01 17:46:12 +03:00
Dragana Damjanovic
75908ae9b0 Bug 1718719 - Disable the TLS early-data if proxy is use r=necko-reviewers,keeler,kershaw
Currently we do not use the early-data when a proxy is used, but we do not disable it in the nss layer.

Differential Revision: https://phabricator.services.mozilla.com/D123492
2021-09-01 13:05:12 +00:00
ffxbld
06c451e911 No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D123933
2021-08-30 13:12:48 +00:00
ffxbld
628d087420 No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=jcristau
Differential Revision: https://phabricator.services.mozilla.com/D123745
2021-08-26 12:33:25 +00:00
Andi-Bogdan Postelnicu
2fc4f70e9b Bug 1725145 - Preparation for the hybrid build env. r=necko-reviewers,firefox-build-system-reviewers,valentin,glandium
Automatically generated path that adds flag `REQUIRES_UNIFIED_BUILD = True` to `moz.build`
when the module governed by the build config file is not buildable outside on the unified environment.

This needs to be done in order to have a hybrid build system that adds the possibility of combing
unified build components with ones that are built outside of the unified eco system.

Differential Revision: https://phabricator.services.mozilla.com/D122345
2021-08-25 10:46:17 +00:00
Dana Keeler
3b68845290 Bug 1724072 - allow enabling 3DES only when deprecated versions of TLS are enabled r=rmf
Chrome has removed 3DES completely[0], but we're still seeing some uses of it
in telemetry. Our assumption is that this is either due to old devices that
can't be upgraded, and hence probably use TLS 1.0, or servers that bafflingly
choose 3DES when there are other, better, ciphersuites in common.
This patch allows 3DES to only be enabled when deprecated versions of TLS are
enabled. This should protect users against the latter case (where 3DES is
unnecessary) while allowing them to use it in the former case (where it may be
necessary).

NB: The only 3DES ciphersuite gecko makes possible to enable is
TLS_RSA_WITH_3DES_EDE_CBC_SHA. This patch also changes the preference
corresponding to this ciphersuite from "security.ssl3.rsa_des_ede3_sha" to
"security.ssl3.deprecated.rsa_des_ede3_sha".

[0] https://www.chromestatus.com/feature/6678134168485888

Differential Revision: https://phabricator.services.mozilla.com/D121797
2021-08-24 01:25:07 +00:00
ffxbld
80863c10b2 No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=jcristau
Differential Revision: https://phabricator.services.mozilla.com/D123322
2021-08-23 11:37:13 +00:00
Andi-Bogdan Postelnicu
92603d5088 Bug 1617369 - Reformat recent rust changes with rustfmt r=emilio,webdriver-reviewers,necko-reviewers,valentin
Updated with rustfmt 1.4.37-stable (a178d03 2021-07-26)

Differential Revision: https://phabricator.services.mozilla.com/D122815
2021-08-23 09:30:24 +00:00
ffxbld
c7cfba7954 No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=jcristau
Differential Revision: https://phabricator.services.mozilla.com/D123079
2021-08-19 12:19:55 +00:00
Dana Keeler
8e545a80b3 Bug 1710731 - avoid unnecessary PKCS#11 module PIN prompts when looking for client certificates r=rmf
Differential Revision: https://phabricator.services.mozilla.com/D122398
2021-08-18 20:21:37 +00:00
ffxbld
e16e09b8e7 No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=jcristau
Differential Revision: https://phabricator.services.mozilla.com/D122719
2021-08-16 12:17:21 +00:00
R. Martinho Fernandes
0909314705 Bug 1713602 - Use NSS only on the socket thread in NSSCertDBTrustDomain::IsChainValid r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D116879
2021-08-14 02:11:30 +00:00
Valentin Gosu
0cfda7bb4a Bug 1705659 - Static-analysis check auto fix for auth code r=necko-reviewers,dragana
Depends on D112604

Differential Revision: https://phabricator.services.mozilla.com/D112605
2021-08-12 12:39:25 +00:00
Valentin Gosu
b3d74be7b8 Bug 1705659 - Make GetAuthenticator work with nsACString r=necko-reviewers,dragana
Depends on D112602

Differential Revision: https://phabricator.services.mozilla.com/D112597
2021-08-12 12:39:22 +00:00
ffxbld
dd278ba0c0 No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=jcristau
Differential Revision: https://phabricator.services.mozilla.com/D122458
2021-08-12 12:24:30 +00:00
Narcis Beleuzu
625f7a5de1 Backed out changeset 4f793a75cd93 (bug 1724072) for geckoview failures . CLOSED TREE 2021-08-10 19:19:35 +03:00
Dana Keeler
2a64c08522 Bug 1724072 - allow enabling 3DES only when deprecated versions of TLS are enabled r=rmf
Chrome has removed 3DES completely[0], but we're still seeing some uses of it
in telemetry. Our assumption is that this is either due to old devices that
can't be upgraded, and hence probably use TLS 1.0, or servers that bafflingly
choose 3DES when there are other, better, ciphersuites in common.
This patch allows 3DES to only be enabled when deprecated versions of TLS are
enabled. This should protect users against the latter case (where 3DES is
unnecessary) while allowing them to use it in the former case (where it may be
necessary).

NB: The only 3DES ciphersuite gecko makes possible to enable is
TLS_RSA_WITH_3DES_EDE_CBC_SHA. This patch also changes the preference
corresponding to this ciphersuite from "security.ssl3.rsa_des_ede3_sha" to
"security.ssl3.deprecated.rsa_des_ede3_sha".

[0] https://www.chromestatus.com/feature/6678134168485888

Differential Revision: https://phabricator.services.mozilla.com/D121797
2021-08-10 15:25:37 +00:00
ffxbld
7bf613163a No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=jcristau
Differential Revision: https://phabricator.services.mozilla.com/D122093
2021-08-09 11:49:10 +00:00
Ben Hearsum
f5afc22625 Bug 1714200: skip failing xpcshell tests on M1 machines r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D121225
2021-08-06 19:16:55 +00:00
ffxbld
3b0b1c9a9a No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=jcristau
Differential Revision: https://phabricator.services.mozilla.com/D121852
2021-08-05 12:14:03 +00:00
Dana Keeler
f0cbaf362a Bug 1723211 - move reusable parts of osclientcerts to rsclientcerts r=rmf
Depends on D121419

Differential Revision: https://phabricator.services.mozilla.com/D121451
2021-08-03 18:34:22 +00:00
Dana Keeler
b0147ecfd1 Bug 1723211 - rework osclientcerts::manager to take a backend implementation as a trait r=rmf
Depends on D121418

Differential Revision: https://phabricator.services.mozilla.com/D121419
2021-08-03 18:34:21 +00:00
Dana Keeler
7053b26b8c Bug 1723211 - introduce error module to osclientcerts r=rmf
Differential Revision: https://phabricator.services.mozilla.com/D121418
2021-08-03 18:34:21 +00:00
Zibi Braniecki
7b320ed8a6 Bug 1613705 - [localization] part17: Fix racy tests to wait for l10n frame. r=platform-i18n-reviewers,dminor,application-update-reviewers,nalexander
Depends on D116791

Differential Revision: https://phabricator.services.mozilla.com/D116792
2021-08-03 16:25:16 +00:00