Commit Graph

15159 Commits

Author SHA1 Message Date
Dana Keeler
994259bfa7 Bug 1612587 - (2/2) incorporate all known potential issuing certificates when filtering client certificates r=kjacobs,jcj
When a server requests a client certificate, it can include a list of
distinguished names that it considers valid issuers for client certificates
(either as direct issuers or as transitive issuers). Before this patch, the
platform would call CERT_FilterCertListByCANames to filter potential client
certificates by this list of names. This function uses the "classic" NSS
certificate path-building algorithm and thus can't make use of other
certificates that gecko may know about, such as third-party intermediates and
preloaded intermediates.

This patch implements client certificate filtering by re-using the path building
implementation provided by mozilla::pkix to determine if each certificate has an
issuer with a name included in the acceptable list. These issuers include
third-party intermediates, preloaded intermediates, and all certificates known
to NSS. Note that this implementation does not actually verify the client
certificates - no signatures are checked and no particular key usages are
enforced. However, some properties are enforced, such as validity periods.

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

--HG--
rename : security/manager/ssl/tests/mochitest/browser/pgo-ca-regular-usages.pem.certspec => security/manager/ssl/tests/mochitest/browser/intermediate.pem.certspec
extra : moz-landing-system : lando
2020-03-27 22:47:49 +00:00
Dana Keeler
18a3b00c13 Bug 1612587 - (1/2) simplify flow of client auth certificate selection to enable future improvements r=kjacobs
Differential Revision: https://phabricator.services.mozilla.com/D68100

--HG--
extra : moz-landing-system : lando
2020-03-27 22:46:45 +00:00
JulianWels
b9a66ff272 Bug 1622028 - Log failed upgrades for HTTPS Only Mode. r=ckerschb,dragana
Differential Revision: https://phabricator.services.mozilla.com/D68026

--HG--
extra : moz-landing-system : lando
2020-03-27 17:09:15 +00:00
Oana Pop Rus
679f10ce5f Backed out changeset 9d3487044f9a (bug 1622028) for build bustages in nsHTTPSOnlyStreamListener.h on a CLOSED TREE 2020-03-27 17:47:07 +02:00
JulianWels
8d65d4a658 Bug 1622028 - Log failed upgrades for HTTPS Only Mode. r=ckerschb,dragana
Differential Revision: https://phabricator.services.mozilla.com/D68026

--HG--
extra : moz-landing-system : lando
2020-03-27 14:35:33 +00:00
ffxbld
d1bfa2330a No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D68386

--HG--
extra : moz-landing-system : lando
2020-03-26 13:53:08 +00:00
Kevin Jacobs
00c927efc6 Bug 1624128 - Update CK_GCM_PARAMS uses for PKCS11 v3.0 definition r=keeler
This patch initializes the ulIvBits member of CK_GCM_PARAMS, which is new in PKCS11 v3.

For libprio, we instead define NSS_PKCS11_2_0_COMPAT, which yields the old struct definition.

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

--HG--
extra : moz-landing-system : lando
2020-03-24 16:41:27 +00:00
Kevin Jacobs
c9d19e7277 Bug 1623510 - Remove test_delegated_credentials_weak and disallow Delegated Credential-embedded RSA SPKIs. r=keeler
This patch removes `test_delegated_credentials_weak` (which only applies to RSA DCs currently), as RSA DCs are effectively unsupported by Firefox.

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

--HG--
extra : moz-landing-system : lando
2020-03-24 16:41:29 +00:00
Kevin Jacobs
c36703e663 Bug 1621350 - land NSS 0225889e5292 UPGRADE_NSS_RELEASE, r=jcj
2020-03-23  Kevin Jacobs  <kjacobs@mozilla.com>

	* lib/softoken/pkcs11.c:
	Bug 1624402 - Fix compilation error when NO_FORK_CHECK and
	CHECK_FORK_* are defined r=rrelyea

	[0225889e5292] [tip]

	* lib/util/pkcs11.h:
	Bug 1624130 - Require CK_FUNCTION_LIST structs to be packed.
	r=rrelyea

	[7ab62d3d0445]

2020-03-17  Robert Relyea  <rrelyea@redhat.com>

	* automation/abi-check/expected-report-libnss3.so.txt, automation/abi-
	check/expected-report-libsoftokn3.so.txt, cmd/pk11mode/pk11mode.c,
	lib/pk11wrap/pk11load.c, lib/pk11wrap/secmodi.h,
	lib/pk11wrap/secmodt.h, lib/softoken/fipstokn.c,
	lib/softoken/manifest.mn, lib/softoken/pkcs11.c,
	lib/softoken/pkcs11c.c, lib/softoken/pkcs11i.h,
	lib/softoken/sftkmessage.c, lib/softoken/softoken.gyp,
	lib/softoken/softoken.h, lib/softoken/softokn.def,
	lib/util/pkcs11.h, lib/util/pkcs11f.h, lib/util/pkcs11n.h,
	nss/automation/abi-check/new-report-libnss3.so.txt, nss/automation
	/abi-check/new-report-libsoftokn3.so.txt:
	Bug 1603628 Update NSS to handle PKCS #11 v3.0 r=ueno r=mt

	Update to PKCS #11 v3.0 part 2.

	Create the functions and switch to the C_Interface() function to
	fetch the PKCS #11 function table. Also PKCS #11 v3.0 uses a new
	fork safe interface. NSS can already handle the case if the PKCS #11
	module happens to be fork safe (when asked by the application to
	refresh the tokens in the child process, NSS can detect that such a
	refresh is not necessary and continue. Softoken could also be put in
	fork_safe mode with an environment variable. With this patch it's
	the default, and NSS asks for the fork safe API by default.
	Technically softoken should implement the old non-fork safe
	interface when PKCS #11 v2.0 is called, but NSS no longer needs it,
	and doing so would double the number of PKCS #11 interfaces are
	needed. You can still compile with fork unsafe semantics, and the
	PKCS #11 V3.0 module will do the right thing and not include the
	fork safe flag. Firefox does not fork(), so for firefox this is
	simply code that is no longer compilied.

	We now use C_GetInterface, which allows us to specify what kind of
	interface we want (PKCS #11 v3.0, PKCS #11 v2.0, fork safe, etc.).
	Vendor specific functions can now be accessed through the
	C_GetInterface. If the C_GetInterface function does not exists, we
	fall bak to the old C_GetFunctionList.

	There are 24 new functions in PKCS #11 v3.0: C_GetInterfaceList -
	return a table of all the supported interfaces C_GetInterface -
	return a specific interface. You can specify interface name, version
	and flags separately. You can leave off any of these and you will
	get what the token thinks is the best match of the interfaces that
	meet the criteria. We do this in softoken by the order of the
	interface list. C_SessionCancel - Cancel one or more multipart
	operation C_LoginUser - Supply a user name to C_Login(). This
	function has no meaning for softoken, so it just returns
	CKR_OPERATION_NOT_INITIALIZED under the theory that if we in the
	future want to support usernames, the NSS db would need special
	initialization to make that happen. C_Message* and C_*Message* (20
	functions in all) are the new AEAD interface (they are written
	generally so that it can be used for things other than AEAD). In
	this patch they are unimplemented (see the next patch).

	This patch adds regular (NSC_) and FIPS (FC_) versions of these
	functions. Also when creating the PKCS #11 v2.0 interface, we had to
	create a 2.0 specific version of C_GetInfo so that it can return a
	2.40 in the CK_VERSION field rather than 3.00. We do this with
	#defines since all the function tables are generated automagically
	with pkcs11f.h.

	[2364598f8a36]

2020-03-18  Kevin Jacobs  <kjacobs@mozilla.com>

	* lib/freebl/mpi/mpcpucache.c:
	Bug 1623184 - Clear ECX prior to cpuid, fixing query for Extended
	Features r=bbeurdouche

	While trying to benchmark the recent HACL* AVX2 code, I noticed that
	it was not being called on two machines (that both support AVX2),
	instead using only the AVX version.

	In order to query for Extended Features (cpuid with EAX=7), we also
	need to set ECX to 0: https://www.intel.com/content/www/us/en
	/architecture-and-technology/64-ia-32-architectures-software-
	developer-vol-2a-manual.html. The current code fails to do this,
	resulting in flags that show no support.

	Initially, I wrote a separate `freebl_cpuid_ex` function that
	accepted a value for ECX as a separate input argument. However, some
	definitions of `freebl_cpuid` already zero ECX, so making this
	consistent is the simplest way to get the desired behavior.

	With this patch, the two test machines (MacOS and Linux x64)
	correctly use the AVX2 ChaCha20Poly1305 code.

	[06d41fe87c58]

2020-02-18  Robert Relyea  <rrelyea@redhat.com>

	* cmd/bltest/blapitest.c, cmd/fipstest/fipstest.c,
	cmd/lib/pk11table.c, cmd/pk11gcmtest/pk11gcmtest.c,
	cmd/shlibsign/shlibsign.c,
	gtests/pk11_gtest/pk11_aes_gcm_unittest.cc,
	gtests/pk11_gtest/pk11_cbc_unittest.cc, lib/certdb/crl.c,
	lib/ckfw/dbm/db.c, lib/dev/devslot.c, lib/dev/devtoken.c,
	lib/dev/devutil.c, lib/freebl/fipsfreebl.c, lib/freebl/gcm.c,
	lib/freebl/intel-gcm-wrap.c, lib/pk11wrap/debug_module.c,
	lib/pk11wrap/dev3hack.c, lib/pk11wrap/pk11akey.c,
	lib/pk11wrap/pk11auth.c, lib/pk11wrap/pk11cert.c,
	lib/pk11wrap/pk11err.c, lib/pk11wrap/pk11load.c,
	lib/pk11wrap/pk11mech.c, lib/pk11wrap/pk11merge.c,
	lib/pk11wrap/pk11nobj.c, lib/pk11wrap/pk11obj.c,
	lib/pk11wrap/pk11pbe.c, lib/pk11wrap/pk11pk12.c,
	lib/pk11wrap/pk11pqg.c, lib/pk11wrap/pk11skey.c,
	lib/pk11wrap/pk11slot.c, lib/pk11wrap/pk11util.c, lib/pkcs12/p12d.c,
	lib/pkcs12/p12e.c, lib/softoken/fipstokn.c,
	lib/softoken/legacydb/lgattr.c, lib/softoken/legacydb/lgcreate.c,
	lib/softoken/legacydb/lgfind.c, lib/softoken/legacydb/lginit.c,
	lib/softoken/pkcs11.c, lib/softoken/pkcs11c.c,
	lib/softoken/pkcs11u.c, lib/softoken/sdb.c, lib/softoken/sftkdb.c,
	lib/softoken/sftkpwd.c, lib/ssl/ssl3con.c, lib/ssl/sslprimitive.c,
	lib/ssl/tls13con.c, lib/util/pkcs11.h, lib/util/pkcs11f.h,
	lib/util/pkcs11n.h, lib/util/pkcs11t.h, lib/util/secoid.c, nss-
	tool/enc/enctool.cc:
	Bug 1603628 Update NSS to handle PKCS #11 v3.0 r=daiki r=mhoye


	This patch implements the first phase: updating the headers.

	lib/util/pkcs11.h lib/util/pkcs11f.h lib/util/pkcs11t.h

	Were updated using the released OASIS PKCS #11 v3.0 header files.
	lib/util/pkcs11n.h was updated to finally deprecate all uses of
	CK?_NETSCAPE_?.

	A new define as added: NSS_PKCS11_2_0_COMPAT. If it's defined, the
	small semantic changes (including the removal of deprecated defines)
	between the NSS PKCS #11 v2 header file and the new PKCS #11 v3 are
	reverted in favor of the PKCS #11 v2 definitions. This include the
	removal of CK?_NETSCAPE_? in favor of CK?_NSS_?.

	One notable change was caused by an inconsistancy between the spec
	and the released headers in PKCS #11 v2.40. CK_GCM_PARAMS had an
	extra field in the header that was not in the spec. OASIS considers
	the header file to be normative, so PKCS #11 v3.0 resolved the issue
	in favor of the header file definition. NSS had the spec definition,
	so now there are 2 defines for this structure:

	CK_NSS_GCM_PARAMS - the old nss define. Still used internally in
	freebl. CK_GCM_PARAMS_V3 - the new define. CK_GCM_PARAMS - no longer
	referenced in NSS itself. It's defined as CK_GCM_PARAMS_V3 if
	NSS_PKCS11_2_0_COMPAT is *not* defined, and it's defined as
	CKM_NSS_GCM_PARAMS if NSS_PKCS11_2_0_COMPAT is defined.

	Softoken has been updated to accept either CK_NSS_GCM_PARAMS or
	CK_GCM_PARAMS_V3. In a future patch NSS will be updated to use
	CK_GCM_PARAMS_V3 and fall back to CK_NSS_GMC_PARAMS.

	One other semantic difference between the 3.0 version of pkcs11f.h
	and the version here: In the oasis version of the header, you must
	define CK_PKCS11_2_0_ONLY to get just the PKCS #11 v2 defines. In
	our version you must define CK_PKCS11_3 to get the PCKS #11 v3
	defines.

	Most of this patch is to handle changing the deprecated defines that
	have been removed in PCKS #11 v3 from NSS.

	[b5d90a7fe217]

2020-03-16  Kevin Jacobs  <kjacobs@mozilla.com>

	* automation/abi-check/expected-report-libssl3.so.txt,
	gtests/ssl_gtest/libssl_internals.c,
	gtests/ssl_gtest/libssl_internals.h, gtests/ssl_gtest/tls_agent.cc,
	gtests/ssl_gtest/tls_agent.h,
	gtests/ssl_gtest/tls_subcerts_unittest.cc, lib/ssl/SSLerrs.h,
	lib/ssl/ssl.h, lib/ssl/ssl3con.c, lib/ssl/ssl3ext.c,
	lib/ssl/ssl3ext.h, lib/ssl/sslerr.h, lib/ssl/sslimpl.h,
	lib/ssl/sslt.h, lib/ssl/tls13exthandle.c, lib/ssl/tls13subcerts.c,
	tests/common/certsetup.sh, tests/ssl_gtests/ssl_gtests.sh:
	Bug 1617968 - Update Delegated Credentials implementation to
	draft-07 r=mt

	Remove support for RSAE in delegated credentials (both in DC
	signatures and SPKIs), add SignatureScheme list functionality to
	initial DC extension.

	[44eb9e27d946]

2020-03-13  Robert Relyea  <rrelyea@redhat.com>

	* cmd/fipstest/fipstest.c:
	Bug 1608250 KBKDF - broken fipstest handling of KI_len r=rrelyea
	p=cipherboy


	When testing Bug 1608245, I realized that I had inadvertently broken
	fipstest.c's handling of KI and KI_len. This lead to it passing
	bogus keys (with unusually large lengths exceeding the bounds of
	sizeof KI) to kbkdf_Dispatch(...).

	This uses Bob Relyea's suggestion on how to handle this: detect the
	size of KI when processing the mech selection, storing KI_len there.
	This simplifies reading of the KI value in later code.
	[d7b12847a650]

	* lib/softoken/kbkdf.c:
	Bug 1608245 KBKDF - Consistently handle NULL slot/session r=kjacobs
	Patch by cipherboy, review by kjacobs.


	Per Bug 1607955, the KBKDF code introduced in Bug 1599603 confused
	Coverity with a elided NULL check on
	sftk_SlotFromSessionHandle(...). While Coverity is incorrect (and
	the behavior is fine as-is), it isn't consistent with the KBKDF
	code's handling of sftk_SessionFromHandle(...) (which is NULL
	checked).

	This brings these two call sites into internal consistency.
	[4c43bc0998f3]

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

--HG--
extra : moz-landing-system : lando
2020-03-24 16:39:11 +00:00
ffxbld
688cc76dfc No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D67852

--HG--
extra : moz-landing-system : lando
2020-03-23 13:43:31 +00:00
Sylvestre Ledru
734f79b541 Bug 1624237 - Run misc-unused-using-decls - Remove useless declarations r=andi
$ ./mach static-analysis check --checks="-*, misc-unused-using-decls" --fix <path>

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

--HG--
extra : moz-landing-system : lando
2020-03-23 13:15:33 +00:00
Brindusan Cristian
4646c1f41f Backed out 2 changesets (bug 1614933) for bc failures at browser_tabicon_after_bg_tab_crash.js.
Backed out changeset 59503d3a702f (bug 1614933)
Backed out changeset 578c8ba9598f (bug 1614933)
2020-03-22 17:30:07 +02:00
Gabriele Svelto
322404bebb Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj
Crash annotations in content processes are currently sent over IPC via
shared memory buffers. To pave the way for the Rust rewrite of the exception
handler we are removing this code and gathering all the crash annotations
within the content processes themselves. This patch causes annotations to be
stored in the global table of each content process. They are then streamed
out to the parent process by the exception handler together with the
exception-time annotations.

This has a number of benefits:

* we have one less channel to exchange data between content processes and
  the parent process
* we save memory because we don't need to allocate the shared memory buffers
* annotations are faster because we don't stream them all out every time one
  changes
* we won't truncate annotations anymore if we run out of space in the shared
  segment.
* we don't need delayed annotations anymore, so we can get rid of the
  associated machinery

As I refactored the code I tried to adjust all the obsolete comments,
consolidate shared code and remove the redundant steps that were sometimes
present. In many places we had two entire crash annotation tables we merged to
change just a couple; that comes from the fact that historically we loaded
them from disk. Now it doesn't matter anymore and we can just go ahead and
change the ones we care about.

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

--HG--
extra : moz-landing-system : lando
2020-03-21 17:13:08 +00:00
Gabriele Svelto
9186cc2ed8 Bug 1614933 - Ensure that glibc's lazy initializers run before we enable the content process sandbox on Linux; r=jld
Differential Revision: https://phabricator.services.mozilla.com/D63471

--HG--
extra : moz-landing-system : lando
2020-03-22 13:03:36 +00:00
Jared Wein
a7c8d5b4a9 Bug 1623695 - Change the asyncReauthenticateUser API to use wide strings to fix encoding issues with user-facing dialog strings. r=agashlin,spohl
Differential Revision: https://phabricator.services.mozilla.com/D67530

--HG--
extra : moz-landing-system : lando
2020-03-20 18:56:40 +00:00
Toshihito Kikuchi
09e98f7a10 Bug 1615139 - Remove RestoreImportDirectory from SandboxBroker::LaunchApp. r=aklotz
When the launcher process is enabled, we run `RestoreImportDirectory` twice as
below.  This patch removes the 1st one.

1st call:
xul!mozilla::SandboxBroker::LaunchApp
--> xul!mozilla::RestoreImportDirectory

2nd call:
xul!mozilla::SandboxBroker::LaunchApp
--> firefox!mozilla::InitializeDllBlocklistOOP
--> firefox!mozilla::InitializeDllBlocklistOOPInternal
--> firefox!mozilla::RestoreImportDirectory

To handle the case where the launcher process is disabled, we need to call
`RestoreImportDirectory` from `InitializeDllBlocklistOOP` if the browser
process is not bootstrapped.

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

--HG--
extra : moz-landing-system : lando
2020-03-19 23:15:27 +00:00
Sylvestre Ledru
be18fd4dba Bug 1622328 - add license info to all eslintrc files r=Standard8,webcompat-reviewers,miketaylr
Differential Revision: https://phabricator.services.mozilla.com/D67319

--HG--
extra : moz-landing-system : lando
2020-03-19 13:47:51 +00:00
ffxbld
8fdcf8990c No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D67475

--HG--
extra : moz-landing-system : lando
2020-03-19 13:43:29 +00:00
Moritz Birghan
b391e6a0ad Bug 1591180 - Enable EV Treatment for Entrust Root Certification Authority - G4 root certificate r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D67244

--HG--
extra : moz-landing-system : lando
2020-03-18 22:05:49 +00:00
Jared Wein
4aab970c42 Bug 1622542 - Skip showing the credential UI for user accounts with a blank password. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D67242

--HG--
extra : moz-landing-system : lando
2020-03-18 21:04:41 +00:00
Sylvestre Ledru
d5ae1666db Bug 1622328 - generate_certdata.py: Add the license r=glandium
Depends on D66831

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

--HG--
extra : moz-landing-system : lando
2020-03-17 04:53:54 +00:00
Dana Keeler
fb868a6c13 bug 1620390 - use the background thread pool instead of a one-off thread in OSKeyStore r=bbeurdouche
OSKeyStore doesn't need its own thread and can use the background thread pool instead.

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

--HG--
extra : moz-landing-system : lando
2020-03-17 23:07:48 +00:00
Mathieu Leplatre
bc6e54afaa Bug 1620185 - Remove usage of .openCollection() in other modules r=glasserc
Differential Revision: https://phabricator.services.mozilla.com/D66749

--HG--
extra : moz-landing-system : lando
2020-03-17 20:21:54 +00:00
JulianWels
e5c3036681 Bug 1620242 - Basic implementation for HTTPS Only Mode. r=ckerschb,mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D62590

--HG--
rename : dom/security/test/csp/file_redirect_report.sjs => dom/security/test/https-only/file_redirect.sjs
rename : dom/security/test/csp/file_upgrade_insecure.html => dom/security/test/https-only/file_upgrade_insecure.html
rename : dom/security/test/csp/file_upgrade_insecure_server.sjs => dom/security/test/https-only/file_upgrade_insecure_server.sjs
rename : dom/security/test/csp/file_upgrade_insecure_wsh.py => dom/security/test/https-only/file_upgrade_insecure_wsh.py
extra : moz-landing-system : lando
2020-03-17 19:24:31 +00:00
Dana Keeler
6ebe338b92 bug 1620110 - osclientcerts: properly store serial numbers as DER-encoded integers r=kjacobs
PKCS#11 requires that serial numbers be DER-encoded (essentially, the bytes of
the serialNumber component of TBSCertificate). On macOS,
SecCertificateCopySerialNumberData gives the contents of this component (so it
lacks the tag and length fields, and may or may not have leading 00 or FF bytes
to indicate sign). On Windows, CERT_INFO.SerialNumber is the value of the
integer with the least significant byte first, which is the opposite of DER
(which has the most significant byte first). It also lacks any leading 00 or FF
sign bytes. Since the OS APIs can't be used here, this patch introduces a
utility function to grab the value of the serialNumber component of a
DER-encoded certificate.

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

--HG--
extra : moz-landing-system : lando
2020-03-16 22:27:03 +00:00
Noemi Erli
f10f67e74c Backed out changeset 21f62488a5b5 (bug 1620242) for causing bustages in nsMixedContentBlocker.cpp CLOSED TREE 2020-03-16 23:11:00 +02:00
JulianWels
c2c4e65115 Bug 1620242 - Basic implementation for HTTPS Only Mode. r=ckerschb,mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D62590

--HG--
rename : dom/security/test/csp/file_redirect_report.sjs => dom/security/test/https-only/file_redirect.sjs
rename : dom/security/test/csp/file_upgrade_insecure.html => dom/security/test/https-only/file_upgrade_insecure.html
rename : dom/security/test/csp/file_upgrade_insecure_server.sjs => dom/security/test/https-only/file_upgrade_insecure_server.sjs
rename : dom/security/test/csp/file_upgrade_insecure_wsh.py => dom/security/test/https-only/file_upgrade_insecure_wsh.py
extra : moz-landing-system : lando
2020-03-16 16:47:54 +00:00
Dana Keeler
52ebda3e05 bug 1024871 - stop importing certificates when navigated to r=kjacobs,jld
Before this patch, PSM would register content type handlers to handle certain
certificate types. This was an easy way to install a client certificate after
generating a key with <keygen>, but keygen has been removed. This was also an
easy way to install root certificates, but that's actually a considerable
security risk. We kept this functionality for so long because it was the only
way to add a 3rd-party root certificate to Fennec's certificate store. Now that
Fennec is EOL, we can remove it. (Fenix will need a way to trust 3rd party root
certificates, but the path forward there is to implement the enterprise roots
feature for Android.)

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

--HG--
extra : moz-landing-system : lando
2020-03-16 18:50:35 +00:00
ffxbld
5102396177 No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D66963

--HG--
extra : moz-landing-system : lando
2020-03-16 13:48:38 +00:00
Simon Giesecke
92497d5662 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in security. r=rrelyea
Differential Revision: https://phabricator.services.mozilla.com/D65499

--HG--
extra : moz-landing-system : lando
2020-03-16 10:56:56 +00:00
Bogdan Tara
c60fd3fdd2 Backed out 4 changesets (bug 1613985) for causing build bustages CLOSED TREE
Backed out changeset fba0caac746c (bug 1613985)
Backed out changeset 8605d7a19107 (bug 1613985)
Backed out changeset 41e858fbf235 (bug 1613985)
Backed out changeset 847433cf1e0a (bug 1613985)
2020-03-16 12:41:41 +02:00
Simon Giesecke
554d54a0be Bug 1613985 - Use default for equivalent-to-default constructors/destructors in security. r=rrelyea
Differential Revision: https://phabricator.services.mozilla.com/D65499

--HG--
extra : moz-landing-system : lando
2020-03-16 09:57:45 +00:00
Ed Lee
acb960676c Bug 1620556 - Automatic code fixes for Prettier 1.19.1 upgrade. r=Standard8,remote-protocol-reviewers,marionette-reviewers,webcompat-reviewers,perftest-reviewers,sparky,whimboo,denschub
Differential Revision: https://phabricator.services.mozilla.com/D66128

--HG--
extra : moz-landing-system : lando
2020-03-13 23:38:52 +00:00
Dana Keeler
9aae55b3fb bug 1622016 - fix up some declarations used in bug 1512471 that break when build chunking changes r=kjacobs
Bug 1512471 added VerifySSLServerCertParent.cpp, which uses
SSLServerCertVerificationJob::Dispatch, which isn't exposed in a header. It
works in unified builds where the chunking happens to put that file with
SSLServerCertVerification.cpp, but when that changes the build breaks.

Similarly, VerifySSLServerCertChild.cpp uses gPIPNSSLog without declaring it.

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

--HG--
extra : moz-landing-system : lando
2020-03-13 16:28:46 +00:00
Mihai Alexandru Michis
75355611d1 Backed out changeset 46dfbb4de902 (bug 1620242) for causing failures in test_x-frame-options.html
CLOSED TREE
2020-03-13 18:24:03 +02:00
JulianWels
d5b073f588 Bug 1620242 - Basic implementation for HTTPS Only Mode. r=ckerschb,mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D62590

--HG--
rename : dom/security/test/csp/file_redirect_report.sjs => dom/security/test/https-only/file_redirect.sjs
rename : dom/security/test/csp/file_upgrade_insecure.html => dom/security/test/https-only/file_upgrade_insecure.html
rename : dom/security/test/csp/file_upgrade_insecure_server.sjs => dom/security/test/https-only/file_upgrade_insecure_server.sjs
rename : dom/security/test/csp/file_upgrade_insecure_wsh.py => dom/security/test/https-only/file_upgrade_insecure_wsh.py
extra : moz-landing-system : lando
2020-03-13 14:25:08 +00:00
Jed Davis
14f4c37266 Bug 1621808 - Fix crash messages for seccomp-bpf failures. r=gcp
Differential Revision: https://phabricator.services.mozilla.com/D66524

--HG--
extra : moz-landing-system : lando
2020-03-12 08:28:39 +00:00
Jed Davis
07db95a267 Bug 1621686 - Fix socket process sandbox's handling of prctl to prevent crash on kernels before 3.17. r=gcp,mjf
The special handling of PR_SET_NO_NEW_PRIVS can't be overridden with
Allow(); otherwise every thread in the process will repeatedly apply
copies of the policy to itself until it reaches whatever limits the
kernel imposes, and then we crash so we don't continue execution
seemingly unsandboxed.  (See also bug 1257361.)

The prctl policy for the socket process is still allow-all after this
patch; it just prevents crashing the socket process on startup on
kernels before 3.17 (which don't support applying the policy atomically
to all threads).

This patch also adds a comment to try to document this failure mode.

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

--HG--
extra : moz-landing-system : lando
2020-03-12 13:46:46 +00:00
Bob Owen
8dd34fb2d8 Bug 1557282 Part 4: Use USER_LIMITED from the start of the socket process sandbox. r=handyman,gcp
Differential Revision: https://phabricator.services.mozilla.com/D66613

--HG--
extra : moz-landing-system : lando
2020-03-12 20:41:09 +00:00
Bob Owen
7446217e9b Bug 1557282 Part 3: Use SetLockdownDefaultDacl and AddRestrictingRandomSid in sandbox policies. r=handyman,gcp
Differential Revision: https://phabricator.services.mozilla.com/D66612

--HG--
extra : moz-landing-system : lando
2020-03-12 20:40:25 +00:00
Bob Owen
739da258cc Bug 1557282 Part 1: Take chromium commit c1ce57ea5d31208af589b4839390a44ab20b0c8f. r=handyman,gcp
This adds AddRestrictingRandomSid feature, which fixes our issues with
SetLockdownDefaultDacl, apart from when we are running from a network drive.

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

--HG--
extra : moz-landing-system : lando
2020-03-12 20:39:40 +00:00
Narcis Beleuzu
feebca4edf Backed out 4 changesets (bug 1557282) as requested by tjr . CLOSED TREE
Backed out changeset deabd1e1018b (bug 1557282)
Backed out changeset 25e5b5ba8ac3 (bug 1557282)
Backed out changeset 30afcaf2782a (bug 1557282)
Backed out changeset f83095f739e0 (bug 1557282)

--HG--
extra : rebase_source : 1730b805fbd8d0b786f7dcec71aa9c02a8f7a93a
2020-03-12 19:39:27 +02:00
ffxbld
7207d7f765 No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D66614

--HG--
extra : moz-landing-system : lando
2020-03-12 17:07:37 +00:00
Bob Owen
301ca2b09e Bug 1557282 Part 4: Use USER_LIMITED from the start of the socket process sandbox.
Depends on D66612

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

--HG--
extra : moz-landing-system : lando
2020-03-12 16:58:43 +00:00
Bob Owen
29fc28b9f3 Bug 1557282 Part 3: Use SetLockdownDefaultDacl and AddRestrictingRandomSid in sandbox policies.
Depends on D66611

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

--HG--
extra : moz-landing-system : lando
2020-03-12 16:58:36 +00:00
Bob Owen
a48bb12597 Bug 1557282 Part 1: Take chromium commit c1ce57ea5d31208af589b4839390a44ab20b0c8f.
This adds AddRestrictingRandomSid feature, which fixes our issues with
SetLockdownDefaultDacl, apart from when we are running from a network drive.

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

--HG--
extra : moz-landing-system : lando
2020-03-12 16:56:48 +00:00
Jared Wein
c8cbe8556e Bug 1506602 - Show the full product name in the OS auth dialog. r=MattN,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D64521

--HG--
extra : moz-landing-system : lando
2020-03-12 14:47:52 +00:00
Jared Wein
ef4e1645e2 Bug 1506602 - Associate the OS auth dialog with the parent window on Windows to center the dialog and prevent the user from interacting with the browser while the dialog is present. r=MattN,keeler
Differential Revision: https://phabricator.services.mozilla.com/D62348

--HG--
extra : moz-landing-system : lando
2020-03-12 14:47:45 +00:00
Haik Aftandilian
10a487cd99 Bug 1614983 - Create a new sandbox profile for the socket process r=spohl
Add, but don't enable, a sandbox policy to be used with the socket process.
A follow-up fix (bug 1611288) will change the socket process code to use the
sandbox. The macOS socket sandbox is similar to the utility sandbox (only
used for the RDD process), with additions to allow networking I/O, access to
files for DNS resolution, access to certificate stores, and notifications about
network configuration changes.

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

--HG--
extra : moz-landing-system : lando
2020-03-11 22:20:13 +00:00
Kevin Jacobs
24e1ed50fa Bug 1621350 - land NSS 710d10a72934 UPGRADE_NSS_RELEASE, r=jcj
2020-03-10  Kevin Jacobs  <kjacobs@mozilla.com>

	* lib/ssl/ssl3exthandle.c:
	Bug 1618915 - Fix UBSAN issue in ssl_ParseSessionTicket
	r=jcj,bbeurdouche

	[710d10a72934] [tip]

2020-03-09  Kevin Jacobs  <kjacobs@mozilla.com>

	* lib/ssl/ssl3exthandle.c:
	Bug 1618739 - Don't assert fuzzer behavior in SSL_ParseSessionTicket
	r=jcj

	[12fc91fad84a]

2020-03-03  Benjamin Beurdouche  <bbeurdouche@mozilla.com>

	* readme.md:
	Bug 1619056 - Update README: TLS 1.3 is not experimental anymore.
	r=jcj

	[08944e50dce0]

2020-03-09  Kevin Jacobs  <kjacobs@mozilla.com>

	* gtests/ssl_gtest/ssl_version_unittest.cc, lib/ssl/sslexp.h,
	lib/ssl/sslimpl.h, lib/ssl/sslsock.c, lib/ssl/tls13exthandle.c:
	Bug 1619102 - Add workaround option to include both DTLS and TLS
	versions in DTLS supported_versions. r=mt

	Add an experimental function for enabling a DTLS 1.3
	supported_versions compatibility workaround.

	[53803dc4628f]

2020-03-09  Benjamin Beurdouche  <bbeurdouche@mozilla.com>

	* automation/taskcluster/scripts/run_hacl.sh,
	lib/freebl/verified/Hacl_Poly1305_128.c,
	lib/freebl/verified/Hacl_Poly1305_256.c:
	Bug 1612493 - Fix Firefox build for Windows 2012 x64. r=kjacobs

	[7e09cdab32d0]
2020-03-02  Kevin Jacobs  <kjacobs@mozilla.com>

	* lib/freebl/blinit.c:
	Bug 1614183 - Fixup, clang-format. r=me
	[b17a367b83de] [NSS_3_51_BETA1]

2020-03-02  Giulio Benetti  <giulio.benetti@benettiengineering.com>

	* lib/freebl/blinit.c:
	Bug 1614183 - Check if PPC __has_include(<sys/auxv.h>). r=kjacobs
	Some build environment doesn't provide <sys/auxv.h> and this causes
	build failure, so let's check if that header exists by using
	__has_include() helper.

	Signed-off-by: Giulio Benetti
	<giulio.benetti@benettiengineering.com>
	[bb7c46049f26]

2020-03-02  Kurt Miller  <kurt@intricatesoftware.com>

	* lib/freebl/blinit.c:
	Bug 1618400 - Fix unused variable 'getauxval' on OpenBSD/arm64 r=jcj

	https://bugzilla.mozilla.org/show_bug.cgi?id=1618400
	[2c989888dee7]

2020-02-28  Benjamin Beurdouche  <bbeurdouche@mozilla.com>

	* automation/taskcluster/graph/src/extend.js, coreconf/arch.mk,
	coreconf/config.mk, lib/freebl/Makefile, lib/freebl/blapii.h,
	lib/freebl/blinit.c, lib/freebl/chacha20poly1305.c,
	lib/freebl/freebl.gyp,
	lib/freebl/verified/Hacl_Chacha20Poly1305_256.c,
	lib/freebl/verified/Hacl_Chacha20Poly1305_256.h,
	lib/freebl/verified/Hacl_Chacha20_Vec256.c,
	lib/freebl/verified/Hacl_Chacha20_Vec256.h,
	lib/freebl/verified/Hacl_Poly1305_256.c,
	lib/freebl/verified/Hacl_Poly1305_256.h, nss-tool/hw-support.c:
	Bug 1612493 - Support for HACL* AVX2 code for Chacha20, Poly1305 and
	Chacha20Poly1305. r=kjacobs

	*** Bug 1612493 - Import AVX2 code from HACL*
	*** Bug 1612493 - Add CPU detection for AVX2, BMI1, BMI2, FMA, MOVBE
	*** Bug 1612493 - New flag NSS_DISABLE_AVX2 for freebl/Makefile and
	freebl.gyp
	*** Bug 1612493 - Disable use of AVX2 on GCC 4.4 which doesn’t
	support -mavx2
	*** Bug 1612493 - Disable tests when the platform doesn't have
	support for AVX2

	[d5deac55f543]

	* automation/taskcluster/scripts/run_hacl.sh,
	lib/freebl/verified/Hacl_Chacha20.c,
	lib/freebl/verified/Hacl_Chacha20Poly1305_128.c,
	lib/freebl/verified/Hacl_Chacha20Poly1305_32.c,
	lib/freebl/verified/Hacl_Chacha20_Vec128.c,
	lib/freebl/verified/Hacl_Curve25519_51.c,
	lib/freebl/verified/Hacl_Kremlib.h,
	lib/freebl/verified/Hacl_Poly1305_128.c,
	lib/freebl/verified/Hacl_Poly1305_32.c,
	lib/freebl/verified/kremlin/include/kremlin/internal/types.h,
	lib/freebl/verified/kremlin/kremlib/dist/minimal/FStar_UInt128.h, li
	b/freebl/verified/kremlin/kremlib/dist/minimal/FStar_UInt128_Verifie
	d.h, lib/freebl/verified/kremlin/kremlib/dist/minimal/FStar_UInt_8_1
	6_32_64.h, lib/freebl/verified/kremlin/kremlib/dist/minimal/LowStar_
	Endianness.h, lib/freebl/verified/kremlin/kremlib/dist/minimal/fstar
	_uint128_gcc64.h, lib/freebl/verified/libintvector.h:
	Bug 1617533 - Update of HACL* after libintvector.h and coding style
	changes. r=kjacobs

	*** Bug 1617533 - Clang format

	*** Bug 1617533 - Update HACL* commit for job in Taskcluster

	*** Bug 1617533 - Update HACL* Kremlin code

	[b6677ae9067e]

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

--HG--
extra : moz-landing-system : lando
2020-03-10 21:35:56 +00:00
Dorel Luca
7d0c94a0e9 Backed out 8 changesets (bug 1506602, bug 1194529) for Browser-chrome failures in browser/browser_aaa_eventTelemetry_run_first.js. CLOSED TREE
Backed out changeset 0848e3945164 (bug 1506602)
Backed out changeset a8b80ec1830e (bug 1506602)
Backed out changeset e83a89eb5007 (bug 1194529)
Backed out changeset 7bf0a8463e53 (bug 1194529)
Backed out changeset 5b5cbd52e30f (bug 1194529)
Backed out changeset 55c38d92f65a (bug 1194529)
Backed out changeset 3242adb0ff8e (bug 1194529)
Backed out changeset c2f10d341da8 (bug 1194529)

--HG--
rename : browser/modules/OSKeyStore.jsm => browser/extensions/formautofill/OSKeyStore.jsm
rename : browser/modules/test/OSKeyStoreTestUtils.jsm => browser/extensions/formautofill/test/fixtures/OSKeyStoreTestUtils.jsm
rename : browser/modules/test/unit/test_osKeyStore.js => browser/extensions/formautofill/test/unit/test_osKeyStore.js
2020-03-11 01:48:36 +02:00
Jared Wein
2a88bd2f12 Bug 1506602 - Show the full product name in the OS auth dialog. r=MattN,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D64521

--HG--
extra : moz-landing-system : lando
2020-03-10 20:01:40 +00:00
Jared Wein
d5c223abf7 Bug 1506602 - Associate the OS auth dialog with the parent window on Windows to center the dialog and prevent the user from interacting with the browser while the dialog is present. r=MattN,keeler
Differential Revision: https://phabricator.services.mozilla.com/D62348

--HG--
extra : moz-landing-system : lando
2020-03-10 20:01:33 +00:00
Emilio Cobos Álvarez
6ef2792e0e Bug 1621044 - Update in-tree consumers of bindgen. r=keeler,rhunt
Differential Revision: https://phabricator.services.mozilla.com/D66281

--HG--
extra : moz-landing-system : lando
2020-03-10 21:07:34 +00:00
Emilio Cobos Álvarez
980c6f3033 Bug 1621044 - Update rkv. r=vporof
See last patch of this bug for the third_party/ changes.

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

--HG--
extra : moz-landing-system : lando
2020-03-10 21:04:51 +00:00
Mike Shal
091526302b Bug 1620744 - Convert generate_mapfile.py to py3; r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D65854

--HG--
extra : moz-landing-system : lando
2020-03-10 20:19:34 +00:00
Daniel Varga
09acd57d19 Backed out 13 changesets (bug 1620744) for causing diffoscope failures firefox/browser/chrome/browser/content/browser/built_in_addons.json
CLOSED TREE

Backed out changeset 6beda54bcb9b (bug 1620744)
Backed out changeset a1e97f0b91ef (bug 1620744)
Backed out changeset b8faa0184d4f (bug 1620744)
Backed out changeset 3bc8fda68107 (bug 1620744)
Backed out changeset 8e95b21b2ae3 (bug 1620744)
Backed out changeset 1de09de1a802 (bug 1620744)
Backed out changeset 622a2f7414fa (bug 1620744)
Backed out changeset 3372c9ab721c (bug 1620744)
Backed out changeset 0997313a9f99 (bug 1620744)
Backed out changeset 2fa34749bbfa (bug 1620744)
Backed out changeset 6d597d2eb792 (bug 1620744)
Backed out changeset 78e78f7c7b26 (bug 1620744)
Backed out changeset 6e4d85b19f88 (bug 1620744)
2020-03-10 21:13:18 +02:00
Mike Shal
ed1692cfb3 Bug 1620744 - Convert generate_mapfile.py to py3; r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D65854

--HG--
extra : moz-landing-system : lando
2020-03-09 22:02:41 +00:00
Bogdan Tara
fb2b3d4e41 Backed out 2 changesets (bug 1614933) for busages complaining about IdleSchedulerChild.cpp CLOSED TREE
Backed out changeset ff92f800a74e (bug 1614933)
Backed out changeset 5cee8f603ae4 (bug 1614933)
2020-03-10 17:21:55 +02:00
Gabriele Svelto
9336e8143b Bug 1614933 - Gather content processes' crash annotations at exception time instead of using IPC; r=froydnj
Crash annotations in content processes are currently sent over IPC via
shared memory buffers. To pave the way for the Rust rewrite of the exception
handler we are removing this code and gathering all the crash annotations
within the content processes themselves. This patch causes annotations to be
stored in the global table of each content process. They are then streamed
out to the parent process by the exception handler together with the
exception-time annotations.

This has a number of benefits:

* we have one less channel to exchange data between content processes and
  the parent process
* we save memory because we don't need to allocate the shared memory buffers
* annotations are faster because we don't stream them all out every time one
  changes
* we won't truncate annotations anymore if we run out of space in the shared
  segment.
* we don't need delayed annotations anymore, so we can get rid of the
  associated machinery

As I refactored the code I tried to adjust all the obsolete comments,
consolidate shared code and remove the redundant steps that were sometimes
present. In many places we had two entire crash annotation tables we merged to
change just a couple; that comes from the fact that historically we loaded
them from disk. Now it doesn't matter anymore and we can just go ahead and
change the ones we care about.

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

--HG--
extra : moz-landing-system : lando
2020-03-10 14:59:22 +00:00
Gabriele Svelto
49040b8671 Bug 1614933 - Ensure that glibc's lazy initializers run before we enable the content process sandbox on Linux; r=jld
Differential Revision: https://phabricator.services.mozilla.com/D63471

--HG--
extra : moz-landing-system : lando
2020-03-10 14:59:22 +00:00
Michael Froman
98301e7475 Bug 1608558 - pt4 - use security.sandbox.socket.process.level for linux socket process sandbox. r=gcp
Differential Revision: https://phabricator.services.mozilla.com/D63716

--HG--
extra : moz-landing-system : lando
2020-03-09 14:57:13 +00:00
Michael Froman
5e124284d9 Bug 1608558 - pt3 - add EvaluateSocketCall and missing cases to EvaluateSyscall for Socket process sandbox. r=gcp
Differential Revision: https://phabricator.services.mozilla.com/D62445

--HG--
extra : moz-landing-system : lando
2020-03-09 14:56:43 +00:00
Michael Froman
40fb8ff87d Bug 1608558 - pt2 - add SandboxBrokerPolicyFactory::GetSocketProcessPolicy to allow access to certs. r=jld,gcp
Differential Revision: https://phabricator.services.mozilla.com/D62444

--HG--
extra : moz-landing-system : lando
2020-03-09 14:56:24 +00:00
Michael Froman
140e0771d3 Bug 1608558 - pt1 - add linux sandboxing to socket process. r=gcp
Differential Revision: https://phabricator.services.mozilla.com/D60014

--HG--
extra : moz-landing-system : lando
2020-03-09 14:56:03 +00:00
ffxbld
04c07a5211 No Bug, mozilla-central repo-update HSTS HPKP remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D65998

--HG--
extra : moz-landing-system : lando
2020-03-09 13:44:52 +00:00
Mark Banner
15cfe23b88 Bug 1620542 - Automatically fix ESLint errors in .eslintrc.js files. r=mossop
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2020-03-07 10:09:44 +00:00
Toshihito Kikuchi
d992a091fa Bug 1615401 - Part 3: Use OSInfo::Kernel32Version() to select a thunk resolver. r=bobowen
Cherry-picking Chromium's commit 01c8afd0dc14a1acef383c5f231258d0cfac95e5
to fix the crash caused by Chromium's sandbox code.

The original bug on Chromium side: https://crbug.com/1053805

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

Depends on D65802
2020-03-06 18:52:25 +02:00
Toshihito Kikuchi
866761cd8a Bug 1615401 - Part 2: Keep Chromium's file_version_info_win.cpp updated r=bobowen
Cherry-picking the following commits from Chromium to keep file_version_info_win.cpp
up-to-date.

1. Use StringPiece rather than std::string for Version parsing.
15a9d1733f

2. [Cleanup] Un-const the result of base::Version::GetString()
fde745d058

3. Export Windows file version as base::Version
e93de3a37d

4. Tidy FileVersionInfoWin.
4bb23ded3a

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

Depends on D65744
2020-03-06 22:24:01 +02:00
Toshihito Kikuchi
0d29a60c01 Bug 1615401 - Part 1: Partially implement FileVersionInfoWin to use from OSInfo::Kernel32BaseVersion(). r=bobowen
This patch partially implements `FileVersionInfoWin` and `base::FilePath` class of
Chromium sandbox so that a coming patch can use `base::win::OSInfo::Kernel32BaseVersion()`.

Differential Revision: https://phabricator.services.mozilla.com/D65744
2020-03-06 18:51:54 +02:00
Kevin Jacobs
6182246ebe Bug 1614053 - land NSS NSS_3_51_RTM UPGRADE_NSS_RELEASE, r=jcj
2020-03-06  Kevin Jacobs  <kjacobs@mozilla.com>

	* lib/nss/nss.h, lib/softoken/softkver.h, lib/util/nssutil.h:
	Set version numbers to 3.51 final
	[d3e6d637eaec] [NSS_3_51_RTM] <NSS_3_51_BRANCH>

2020-03-03  Kevin Jacobs  <kjacobs@mozilla.com>

	* .hgtags:
	Added tag NSS_3_51_BETA2 for changeset 6e610ed9b196
	[bea0b3a5d451] <NSS_3_51_BRANCH>

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

--HG--
extra : moz-landing-system : lando
2020-03-06 22:25:37 +00:00
Mike Shal
6133e75b71 Bug 1620449 - Convert gen_cert_header.py to py3; r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D65632

--HG--
extra : moz-landing-system : lando
2020-03-06 17:31:15 +00:00
ffxbld
39c3d77141 No Bug, mozilla-central repo-update HSTS HPKP blocklist remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D65516

--HG--
extra : moz-landing-system : lando
2020-03-05 17:17:28 +00:00
Kershaw Chang
4966f2d8a2 Bug 1620232 - Fix build bustage r=jcj
Differential Revision: https://phabricator.services.mozilla.com/D65555

--HG--
extra : moz-landing-system : lando
2020-03-05 16:28:51 +00:00
Dana Keeler
00346924ff bug 1619021 - avoid caching intermediate certificates that are in cert_storage (intermediate preloading) r=kjacobs
Differential Revision: https://phabricator.services.mozilla.com/D65177

--HG--
rename : security/manager/ssl/tests/unit/bad_certs/default-ee.key => security/manager/ssl/tests/unit/test_intermediate_preloads/default-ee.key
rename : security/manager/ssl/tests/unit/bad_certs/default-ee.key.keyspec => security/manager/ssl/tests/unit/test_intermediate_preloads/default-ee.key.keyspec
rename : security/manager/ssl/tests/unit/test_intermediate_preloads/ee.pem => security/manager/ssl/tests/unit/test_intermediate_preloads/default-ee.pem
rename : security/manager/ssl/tests/unit/test_intermediate_preloads/ee.pem.certspec => security/manager/ssl/tests/unit/test_intermediate_preloads/default-ee.pem.certspec
extra : moz-landing-system : lando
2020-03-04 19:04:58 +00:00
Kershaw Chang
48d51baf21 Bug 1512471 - Introduce PVerifySSLServerCert for the certificate verification r=keeler,jld
Differential Revision: https://phabricator.services.mozilla.com/D50834

--HG--
extra : moz-landing-system : lando
2020-02-28 10:58:56 +00:00
Kevin Jacobs
d782507dc9 Bug 1614053 - land NSS NSS_3_51_BETA2 UPGRADE_NSS_RELEASE, r=jcj
2020-03-03  Kevin Jacobs  <kjacobs@mozilla.com>

	* automation/taskcluster/scripts/run_hacl.sh,
	lib/freebl/verified/Hacl_Chacha20.c,
	lib/freebl/verified/Hacl_Chacha20Poly1305_128.c,
	lib/freebl/verified/Hacl_Chacha20Poly1305_32.c,
	lib/freebl/verified/Hacl_Chacha20_Vec128.c,
	lib/freebl/verified/Hacl_Curve25519_51.c,
	lib/freebl/verified/Hacl_Kremlib.h,
	lib/freebl/verified/Hacl_Poly1305_128.c,
	lib/freebl/verified/Hacl_Poly1305_32.c,
	lib/freebl/verified/kremlin/include/kremlin/internal/types.h,
	lib/freebl/verified/kremlin/kremlib/dist/minimal/FStar_UInt128.h, li
	b/freebl/verified/kremlin/kremlib/dist/minimal/FStar_UInt128_Verifie
	d.h, lib/freebl/verified/kremlin/kremlib/dist/minimal/FStar_UInt_8_1
	6_32_64.h, lib/freebl/verified/kremlin/kremlib/dist/minimal/LowStar_
	Endianness.h, lib/freebl/verified/kremlin/kremlib/dist/minimal/fstar
	_uint128_gcc64.h, lib/freebl/verified/libintvector.h:
	Backed out changeset b6677ae9067e (Bug 1612493) for Windows build
	failures.
	[6e610ed9b196] [NSS_3_51_BETA2] <NSS_3_51_BRANCH>

	* automation/taskcluster/graph/src/extend.js, coreconf/arch.mk,
	coreconf/config.mk, lib/freebl/Makefile, lib/freebl/blapii.h,
	lib/freebl/blinit.c, lib/freebl/chacha20poly1305.c,
	lib/freebl/freebl.gyp,
	lib/freebl/verified/Hacl_Chacha20Poly1305_256.c,
	lib/freebl/verified/Hacl_Chacha20Poly1305_256.h,
	lib/freebl/verified/Hacl_Chacha20_Vec256.c,
	lib/freebl/verified/Hacl_Chacha20_Vec256.h,
	lib/freebl/verified/Hacl_Poly1305_256.c,
	lib/freebl/verified/Hacl_Poly1305_256.h, nss-tool/hw-support.c:
	Backed out changeset d5deac55f543
	[4215a0b45a22] <NSS_3_51_BRANCH>

2020-03-02  Kevin Jacobs  <kjacobs@mozilla.com>

	* .hgtags:
	Added tag NSS_3_51_BETA1 for changeset b17a367b83de
	[9564790a9cf6] <NSS_3_51_BRANCH>

	* lib/freebl/blinit.c:
	Bug 1614183 - Fixup, clang-format. r=me
	[b17a367b83de] [NSS_3_51_BETA1]

2020-03-02  Giulio Benetti  <giulio.benetti@benettiengineering.com>

	* lib/freebl/blinit.c:
	Bug 1614183 - Check if PPC __has_include(<sys/auxv.h>). r=kjacobs
	Some build environment doesn't provide <sys/auxv.h> and this causes
	build failure, so let's check if that header exists by using
	__has_include() helper.

	Signed-off-by: Giulio Benetti
	<giulio.benetti@benettiengineering.com>
	[bb7c46049f26]

2020-03-02  Kurt Miller  <kurt@intricatesoftware.com>

	* lib/freebl/blinit.c:
	Bug 1618400 - Fix unused variable 'getauxval' on OpenBSD/arm64 r=jcj

	https://bugzilla.mozilla.org/show_bug.cgi?id=1618400
	[2c989888dee7]

2020-02-28  Benjamin Beurdouche  <bbeurdouche@mozilla.com>

	* automation/taskcluster/graph/src/extend.js, coreconf/arch.mk,
	coreconf/config.mk, lib/freebl/Makefile, lib/freebl/blapii.h,
	lib/freebl/blinit.c, lib/freebl/chacha20poly1305.c,
	lib/freebl/freebl.gyp,
	lib/freebl/verified/Hacl_Chacha20Poly1305_256.c,
	lib/freebl/verified/Hacl_Chacha20Poly1305_256.h,
	lib/freebl/verified/Hacl_Chacha20_Vec256.c,
	lib/freebl/verified/Hacl_Chacha20_Vec256.h,
	lib/freebl/verified/Hacl_Poly1305_256.c,
	lib/freebl/verified/Hacl_Poly1305_256.h, nss-tool/hw-support.c:
	Bug 1612493 - Support for HACL* AVX2 code for Chacha20, Poly1305 and
	Chacha20Poly1305. r=kjacobs

	*** Bug 1612493 - Import AVX2 code from HACL*
	*** Bug 1612493 - Add CPU detection for AVX2, BMI1, BMI2, FMA, MOVBE
	*** Bug 1612493 - New flag NSS_DISABLE_AVX2 for freebl/Makefile and
	freebl.gyp
	*** Bug 1612493 - Disable use of AVX2 on GCC 4.4 which doesn’t
	support -mavx2
	*** Bug 1612493 - Disable tests when the platform doesn't have
	support for AVX2

	[d5deac55f543]

	* automation/taskcluster/scripts/run_hacl.sh,
	lib/freebl/verified/Hacl_Chacha20.c,
	lib/freebl/verified/Hacl_Chacha20Poly1305_128.c,
	lib/freebl/verified/Hacl_Chacha20Poly1305_32.c,
	lib/freebl/verified/Hacl_Chacha20_Vec128.c,
	lib/freebl/verified/Hacl_Curve25519_51.c,
	lib/freebl/verified/Hacl_Kremlib.h,
	lib/freebl/verified/Hacl_Poly1305_128.c,
	lib/freebl/verified/Hacl_Poly1305_32.c,
	lib/freebl/verified/kremlin/include/kremlin/internal/types.h,
	lib/freebl/verified/kremlin/kremlib/dist/minimal/FStar_UInt128.h, li
	b/freebl/verified/kremlin/kremlib/dist/minimal/FStar_UInt128_Verifie
	d.h, lib/freebl/verified/kremlin/kremlib/dist/minimal/FStar_UInt_8_1
	6_32_64.h, lib/freebl/verified/kremlin/kremlib/dist/minimal/LowStar_
	Endianness.h, lib/freebl/verified/kremlin/kremlib/dist/minimal/fstar
	_uint128_gcc64.h, lib/freebl/verified/libintvector.h:
	Bug 1617533 - Update of HACL* after libintvector.h and coding style
	changes. r=kjacobs

	*** Bug 1617533 - Clang format

	*** Bug 1617533 - Update HACL* commit for job in Taskcluster

	*** Bug 1617533 - Update HACL* Kremlin code

	[b6677ae9067e]

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

--HG--
extra : moz-landing-system : lando
2020-03-04 05:04:32 +00:00
Kershaw Chang
87cd113e41 Bug 1584104 - Add some information needed by parent process to nsITransportSecurityInfo r=keeler
When socket process is enabled, parent process needs some information in `CommonSocketControl`, but `CommonSocketControl` is only accessible in socket process.
This patch moves some data members from `CommonSocketControl` to `nsTransportSecurityInfo` and make it possible for parent process to get the needed data.

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

--HG--
extra : moz-landing-system : lando
2020-03-02 20:28:15 +00:00
ffxbld
2690d1d20f No Bug, mozilla-central repo-update HSTS HPKP blocklist remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D64941

--HG--
extra : moz-landing-system : lando
2020-03-02 13:42:22 +00:00
Sylvestre Ledru
3c97d64247 Bug 1616780 - Also add __NR_sched_setattr to the list of thread function r=jld
Differential Revision: https://phabricator.services.mozilla.com/D64736

--HG--
extra : moz-landing-system : lando
2020-02-29 04:14:52 +00:00
Kevin Jacobs
4d7b3b72ef Bug 1614053 - land NSS 52a75c5373ef UPGRADE_NSS_RELEASE, r=jcj
2020-02-27  Kevin Jacobs  <kjacobs@mozilla.com>

	* gtests/ssl_gtest/ssl_extension_unittest.cc,
	gtests/ssl_gtest/ssl_gtest.gyp,
	gtests/ssl_gtest/ssl_masking_unittest.cc,
	gtests/ssl_gtest/tls_filter.cc, gtests/ssl_gtest/tls_filter.h,
	gtests/ssl_gtest/tls_hkdf_unittest.cc,
	gtests/ssl_gtest/tls_protect.cc, lib/ssl/dtls13con.c,
	lib/ssl/ssl3con.c, lib/ssl/ssl3prot.h, lib/ssl/sslexp.h,
	lib/ssl/sslimpl.h, lib/ssl/sslinfo.c, lib/ssl/sslprimitive.c,
	lib/ssl/sslsock.c, lib/ssl/tls13con.c, lib/ssl/tls13esni.c,
	lib/ssl/tls13hkdf.c, lib/ssl/tls13hkdf.h, lib/ssl/tls13replay.c:
	Bug 1608892 - Update DTLS 1.3 to draft-34 r=mt

	This patch updates the DTLS 1.3 implementation to draft-34. Notable
	changes:

	1) Key separation via `ssl_protocol_variant`. 2) No longer apply
	sequence number masking when in `UNSAFE_FUZZER_MODE`. This allowed
	removal of workarounds for unpadded (<16B) ciphertexts being used as
	input to `SSL_CreateMask`. 3) Compile ssl_gtests in
	`UNSAFE_FUZZER_MODE` iff `--fuzz=tls` was specified. Currently all
	gtests are compiled this way if `--fuzz`, but lib/ssl only if
	`--fuzz=tls`. (See above, we can't have ssl_gtests in fuzzer mode,
	but not lib/ssl, since the masking mismatch will break filters). 4)
	Parameterize masking tests, as appropriate. 5) Reject non-empty
	legacy_cookie, and test. 6) Reject ciphertexts <16B in length in
	`dtls13_MaskSequenceNumber` (if not `UNSAFE_FUZZER_MODE`).

	[52a75c5373ef] [tip]

2020-02-24  Jean-Luc Bonnafoux  <jeanluc.bonnafoux@wanadoo.fr>

	* lib/cryptohi/secsign.c:
	Bug 1617387 fix compiler warning r=jcj

	[ab0e7e272e36]

2020-02-24  Kevin Jacobs  <kjacobs@mozilla.com>

	* gtests/common/testvectors/p384ecdh-vectors.h,
	gtests/common/testvectors/p521ecdh-vectors.h,
	gtests/common/wycheproof/genTestVectors.py,
	gtests/common/wycheproof/source_vectors/ecdh_secp384r1_test.json,
	gtests/common/wycheproof/source_vectors/ecdh_secp521r1_test.json,
	gtests/pk11_gtest/pk11_ecdh_unittest.cc:
	Bug 1612259 - Add Wycheproof vectors for P384 and P521 ECDH.
	r=bbeurdouche

	[badb4da1ec85]

2020-02-19  Kevin Jacobs  <kjacobs@mozilla.com>

	* gtests/freebl_gtest/mpi_unittest.cc, lib/freebl/mpi/mplogic.h:
	Bug 1609751 - Additional tests for mp_comba r=mt

	Verify that when clamping, the upper 4 bytes of an `mp_digit` is
	checked.

	[a5e8c14016cd]

2020-02-19  Jean-Luc Bonnafoux  <jeanluc.bonnafoux@wanadoo.fr>

	* lib/freebl/ecl/ecp_25519.c:
	Bug 1561337: fix compiler warning r=jcj

	[4c771e6a79db]

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

--HG--
extra : moz-landing-system : lando
2020-02-28 01:55:48 +00:00
Moritz Birghan
e037cf93e5 Bug 1618710 - Refactoring nsClientAuthRememberService to work as a service r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D62585

--HG--
extra : moz-landing-system : lando
2020-02-28 01:32:38 +00:00
shindli
090056def5 Backed out changeset a538b0497336 (bug 634697) for causing android build bustages in /builds/worker/workspace/build/src/security/manager/ssl/nsNSSComponent.cpp CLOSED TREE 2020-02-28 01:05:11 +02:00
Moritz Birghan
d3291a0a11 Bug 634697 - Refactoring nsClientAuthRememberService to work as a service r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D62585

--HG--
extra : moz-landing-system : lando
2020-02-27 21:28:34 +00:00
ffxbld
3da50ef6ba No Bug, mozilla-central repo-update HSTS HPKP blocklist remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D64580

--HG--
extra : moz-landing-system : lando
2020-02-27 18:48:55 +00:00
manas
3558de5641 Bug 1613255 - Remove redundant return statement. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D64354

--HG--
extra : moz-landing-system : lando
2020-02-27 18:25:56 +00:00
Kershaw Chang
a1b1d6ff88 Bug 1616549 - Set resumption token again after handshake reset r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D63319

--HG--
extra : moz-landing-system : lando
2020-02-27 12:44:10 +00:00
J.C. Jones
5f3cbafe43 Bug 1616675 - Add an IPv4 secure service to mochitests' ssltunnel r=keeler
WebAuthn needs to write a test to confirm it's prohibited when accessed via
an IP address. This adds the capability to get a SecureContext for an IP host.
It uses 127.0.0.2 so as to bypass restrictions on 127.0.0.1, and the use of .1
as a special-market in ssltunnel.

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

--HG--
extra : moz-landing-system : lando
2020-02-26 23:15:02 +00:00
Simon Giesecke
aaf6cb4e75 Bug 1617628 - Hide nsBaseHashtable Put overloads in nsRefPtrHashtable subclass. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D63899

--HG--
extra : moz-landing-system : lando
2020-02-25 17:03:36 +00:00
Sylvestre Ledru
a2d5cb90b0 Bug 1616780 - Add __NR_sched_getattr to the list of thread function r=jld
Introduced in:
8aeca4fa64

Shipping in glib 2.63.5 (available in Debian experimental)

Thanks to @padenot for the suggestion!

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

--HG--
extra : moz-landing-system : lando
2020-02-24 22:04:16 +00:00
Eric Rahm
124379887c Bug 1617327 - Part 2: Remove nsAutoPtr usage from ipc, security, IDB. r=mccr8,janv
This removes `nsAutoPtr` usage from ipc/. security/ failed to build due to missing includes so I fixed that as well. IDB was using `ThreadLocal` from ipc which had a member changed to a `UniquePtr` so needed to be updated as well. localstorage was missing some includes.

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

--HG--
extra : moz-landing-system : lando
2020-02-24 19:26:40 +00:00
Sylvestre Ledru
ca6530131a Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan,kvark
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2020-02-24 15:33:38 +00:00
ffxbld
1a2afa385b No Bug, mozilla-central repo-update HSTS HPKP blocklist remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D63847

--HG--
extra : moz-landing-system : lando
2020-02-24 13:53:33 +00:00
Michael Froman
e5696f1486 Bug 1611290 - Windows sandbox for socket process. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D62772

--HG--
extra : moz-landing-system : lando
2020-02-21 15:49:54 +00:00
Mike Shal
c8abdd68c2 Bug 1616630 - Use py3_action for GENERATED_FILES that already support it; r=firefox-build-system-reviewers,kvark,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D63438

--HG--
extra : moz-landing-system : lando
2020-02-21 00:05:17 +00:00
Csoregi Natalia
6360b24e80 Backed out 2 changesets (bug 1616630) for Android bustage. CLOSED TREE
Backed out changeset 15016546c954 (bug 1616630)
Backed out changeset dcb7dc51633b (bug 1616630)
2020-02-20 21:24:11 +02:00
Mike Shal
39492660f4 Bug 1616630 - Use py3_action for GENERATED_FILES that already support it; r=firefox-build-system-reviewers,kvark,rstewart
Depends on D63437

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

--HG--
extra : moz-landing-system : lando
2020-02-20 16:21:55 +00:00
ffxbld
60706288cf No Bug, mozilla-central repo-update HSTS HPKP blocklist remote-settings tld-suffixes - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D63465

--HG--
extra : moz-landing-system : lando
2020-02-20 13:40:32 +00:00
Dana Keeler
6d31f32301 bug 1616330 - handle reinitializing osclientcerts on macOS r=kjacobs
On macOS, dynamic libraries with thread-local-storage don't get unloaded. So,
if the osclientcerts library gets "unloaded", it doesn't actually go away. We
stop its background thread, so this isn't a problem, but if the osclientcerts
library gets re-enabled, all of its state comes back the same as before. So,
when NSS calls C_Initialize again, things like the manager proxy will already
be initialized. Before this patch, this situation would be an error. This patch
handles this case by dropping the old manager proxy and creating a new one.

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

--HG--
extra : moz-landing-system : lando
2020-02-19 21:07:26 +00:00
Dana Keeler
6d38e846af bug 1610644 - search for new client certificates/keys in osclientcerts no more than once every 3 seconds r=kjacobs
Before this, every time NSS wanted to open a new session (C_OpenSession),
osclientcerts would look for new client certificates/keys in the OS store. It
turns out, NSS wants to open new sessions often, so this was slow. This patch
adds a timestamp to the manager and ensures that it searches for new objects no
more than once every 3 seconds.

Additionally, this patch adds the optimization that if NSS tries to search for
PKCS#11 objects with attributes that osclientcerts doesn't support,
osclientcerts returns an empty search early, rather than enumerating every
object and finding no matches.

In the future we may need to be smarter about how we match objects during
searches. Rather than iterating through every object, we could build lookup
tables that would be much more time efficient.

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

--HG--
extra : moz-landing-system : lando
2020-02-19 17:44:04 +00:00