Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 May 2020 14:17:23 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r534914 - in head: mail/thunderbird mail/thunderbird/files www/firefox-esr www/firefox-esr/files
Message-ID:  <202005111417.04BEHNfU066442@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Mon May 11 14:17:23 2020
New Revision: 534914
URL: https://svnweb.freebsd.org/changeset/ports/534914

Log:
  www/firefox-esr: backport NSS 3.52 support after r533597 (like r534912)
  
  PR:		246363
  Reported by:	Tomasz "CeDeROM" CEDRO, Roman

Added:
  head/mail/thunderbird/files/patch-bug1624128   (contents, props changed)
  head/www/firefox-esr/files/patch-bug1624128   (contents, props changed)
Modified:
  head/mail/thunderbird/Makefile   (contents, props changed)
  head/www/firefox-esr/Makefile   (contents, props changed)

Modified: head/mail/thunderbird/Makefile
==============================================================================
--- head/mail/thunderbird/Makefile	Mon May 11 13:31:38 2020	(r534913)
+++ head/mail/thunderbird/Makefile	Mon May 11 14:17:23 2020	(r534914)
@@ -3,7 +3,7 @@
 
 PORTNAME=	thunderbird
 DISTVERSION=	68.8.0
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	mail news net-im
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
 		MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source

Added: head/mail/thunderbird/files/patch-bug1624128
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/mail/thunderbird/files/patch-bug1624128	Mon May 11 14:17:23 2020	(r534914)
@@ -0,0 +1,70 @@
+commit 2a981b96abf3
+Author: Kevin Jacobs <kjacobs@mozilla.com>
+Date:   Tue Apr 14 18:32:19 2020 +0000
+
+    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
+---
+ dom/crypto/WebCryptoTask.cpp                 | 1 +
+ netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c | 1 +
+ security/manager/ssl/OSKeyStore.cpp          | 1 +
+ third_party/prio/moz.build                   | 5 +++++
+ 4 files changed, 8 insertions(+)
+
+diff --git dom/crypto/WebCryptoTask.cpp dom/crypto/WebCryptoTask.cpp
+index ad0d1432738f0..60a265972d212 100644
+--- dom/crypto/WebCryptoTask.cpp
++++ dom/crypto/WebCryptoTask.cpp
+@@ -600,6 +600,7 @@ class AesTask : public ReturnArrayBufferViewTask, public DeferredData {
+       case CKM_AES_GCM:
+         gcmParams.pIv = mIv.Elements();
+         gcmParams.ulIvLen = mIv.Length();
++        gcmParams.ulIvBits = gcmParams.ulIvLen * 8;
+         gcmParams.pAAD = mAad.Elements();
+         gcmParams.ulAADLen = mAad.Length();
+         gcmParams.ulTagBits = mTagLength;
+diff --git netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c
+index e1fdbe36fbf85..2be2ce932ddf1 100644
+--- netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c
++++ netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c
+@@ -271,6 +271,7 @@ static srtp_err_status_t srtp_aes_gcm_nss_do_crypto(void *cv,
+ 
+     c->params.pIv = c->iv;
+     c->params.ulIvLen = GCM_IV_LEN;
++    c->params.ulIvBits = GCM_IV_LEN * 8;
+     c->params.pAAD = c->aad;
+     c->params.ulAADLen = c->aad_size;
+ 
+diff --git security/manager/ssl/OSKeyStore.cpp security/manager/ssl/OSKeyStore.cpp
+index 00bc918c5fdd7..c83a559d9c1ea 100644
+--- security/manager/ssl/OSKeyStore.cpp
++++ security/manager/ssl/OSKeyStore.cpp
+@@ -663,6 +663,7 @@ nsresult AbstractOSKeyStore::DoCipher(const UniquePK11SymKey& aSymKey,
+   CK_GCM_PARAMS gcm_params;
+   gcm_params.pIv = const_cast<unsigned char*>(ivp);
+   gcm_params.ulIvLen = mIVLength;
++  gcm_params.ulIvBits = gcm_params.ulIvLen * 8;
+   gcm_params.ulTagBits = 128;
+   gcm_params.pAAD = nullptr;
+   gcm_params.ulAADLen = 0;
+diff --git third_party/prio/moz.build third_party/prio/moz.build
+index 3e10fe71ce8ed..0a6e3c74a2696 100644
+--- third_party/prio/moz.build
++++ third_party/prio/moz.build
+@@ -42,3 +42,8 @@ SOURCES += [
+ ]
+ 
+ FINAL_LIBRARY = 'xul'
++
++# Use PKCS11 v2 struct definitions for now, otherwise NSS requires
++# CK_GCM_PARAMS.ulIvBits to be set. This workaround is only required
++# until NSS 3.52 RTM and upstream correctly initializes the field.
++DEFINES['NSS_PKCS11_2_0_COMPAT'] = True

Modified: head/www/firefox-esr/Makefile
==============================================================================
--- head/www/firefox-esr/Makefile	Mon May 11 13:31:38 2020	(r534913)
+++ head/www/firefox-esr/Makefile	Mon May 11 14:17:23 2020	(r534914)
@@ -3,7 +3,7 @@
 
 PORTNAME=	firefox
 DISTVERSION=	68.8.0
-PORTREVISION=	3
+PORTREVISION=	4
 PORTEPOCH=	1
 CATEGORIES=	www
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \

Added: head/www/firefox-esr/files/patch-bug1624128
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/www/firefox-esr/files/patch-bug1624128	Mon May 11 14:17:23 2020	(r534914)
@@ -0,0 +1,70 @@
+commit 2a981b96abf3
+Author: Kevin Jacobs <kjacobs@mozilla.com>
+Date:   Tue Apr 14 18:32:19 2020 +0000
+
+    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
+---
+ dom/crypto/WebCryptoTask.cpp                 | 1 +
+ netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c | 1 +
+ security/manager/ssl/OSKeyStore.cpp          | 1 +
+ third_party/prio/moz.build                   | 5 +++++
+ 4 files changed, 8 insertions(+)
+
+diff --git dom/crypto/WebCryptoTask.cpp dom/crypto/WebCryptoTask.cpp
+index ad0d1432738f0..60a265972d212 100644
+--- dom/crypto/WebCryptoTask.cpp
++++ dom/crypto/WebCryptoTask.cpp
+@@ -600,6 +600,7 @@ class AesTask : public ReturnArrayBufferViewTask, public DeferredData {
+       case CKM_AES_GCM:
+         gcmParams.pIv = mIv.Elements();
+         gcmParams.ulIvLen = mIv.Length();
++        gcmParams.ulIvBits = gcmParams.ulIvLen * 8;
+         gcmParams.pAAD = mAad.Elements();
+         gcmParams.ulAADLen = mAad.Length();
+         gcmParams.ulTagBits = mTagLength;
+diff --git netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c
+index e1fdbe36fbf85..2be2ce932ddf1 100644
+--- netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c
++++ netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c
+@@ -271,6 +271,7 @@ static srtp_err_status_t srtp_aes_gcm_nss_do_crypto(void *cv,
+ 
+     c->params.pIv = c->iv;
+     c->params.ulIvLen = GCM_IV_LEN;
++    c->params.ulIvBits = GCM_IV_LEN * 8;
+     c->params.pAAD = c->aad;
+     c->params.ulAADLen = c->aad_size;
+ 
+diff --git security/manager/ssl/OSKeyStore.cpp security/manager/ssl/OSKeyStore.cpp
+index 00bc918c5fdd7..c83a559d9c1ea 100644
+--- security/manager/ssl/OSKeyStore.cpp
++++ security/manager/ssl/OSKeyStore.cpp
+@@ -663,6 +663,7 @@ nsresult AbstractOSKeyStore::DoCipher(const UniquePK11SymKey& aSymKey,
+   CK_GCM_PARAMS gcm_params;
+   gcm_params.pIv = const_cast<unsigned char*>(ivp);
+   gcm_params.ulIvLen = mIVLength;
++  gcm_params.ulIvBits = gcm_params.ulIvLen * 8;
+   gcm_params.ulTagBits = 128;
+   gcm_params.pAAD = nullptr;
+   gcm_params.ulAADLen = 0;
+diff --git third_party/prio/moz.build third_party/prio/moz.build
+index 3e10fe71ce8ed..0a6e3c74a2696 100644
+--- third_party/prio/moz.build
++++ third_party/prio/moz.build
+@@ -42,3 +42,8 @@ SOURCES += [
+ ]
+ 
+ FINAL_LIBRARY = 'xul'
++
++# Use PKCS11 v2 struct definitions for now, otherwise NSS requires
++# CK_GCM_PARAMS.ulIvBits to be set. This workaround is only required
++# until NSS 3.52 RTM and upstream correctly initializes the field.
++DEFINES['NSS_PKCS11_2_0_COMPAT'] = True



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202005111417.04BEHNfU066442>