summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2020-05-09 11:21:57 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2020-05-09 11:21:57 -0700
commita6f5e10d30eaf2b3129eb8963f61946a56a4d32b (patch)
treea55b5ec5634f7113f7bbdf38d2b8f44b0ffc3c70
parentUpdated to 76.0 (diff)
downloadfirefox-a6f5e10d30eaf2b3129eb8963f61946a56a4d32b.tar.xz
Updated to 76.0.1
-rw-r--r--0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch70
-rw-r--r--PKGBUILD9
2 files changed, 77 insertions, 2 deletions
diff --git a/0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch b/0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch
new file mode 100644
index 0000000..99c05bb
--- /dev/null
+++ b/0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch
@@ -0,0 +1,70 @@
+From c3acffdb8e0cd46561d2c5131227dc92967cf3d2 Mon Sep 17 00:00:00 2001
+From: Kevin Jacobs <kjacobs@mozilla.com>
+Date: Tue, 14 Apr 2020 18:32:19 +0000
+Subject: [PATCH] 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
+---
+ 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 a/dom/crypto/WebCryptoTask.cpp b/dom/crypto/WebCryptoTask.cpp
+index ad0d1432738f..60a265972d21 100644
+--- a/dom/crypto/WebCryptoTask.cpp
++++ b/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 a/netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c b/netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c
+index e1fdbe36fbf8..2be2ce932ddf 100644
+--- a/netwerk/srtp/src/crypto/cipher/aes_gcm_nss.c
++++ b/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 a/security/manager/ssl/OSKeyStore.cpp b/security/manager/ssl/OSKeyStore.cpp
+index 00bc918c5fdd..c83a559d9c1e 100644
+--- a/security/manager/ssl/OSKeyStore.cpp
++++ b/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 a/third_party/prio/moz.build b/third_party/prio/moz.build
+index 3e10fe71ce8e..0a6e3c74a269 100644
+--- a/third_party/prio/moz.build
++++ b/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
+--
+2.26.2
+
diff --git a/PKGBUILD b/PKGBUILD
index 6524589..f152c0c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -18,7 +18,7 @@ _modclang=0
#_modclang=1 # FIXME
pkgname=firefox
-pkgver=76.0
+pkgver=76.0.1
pkgrel=1
pkgdesc="Standalone web browser from mozilla.org"
arch=(x86_64 aarch64)
@@ -44,6 +44,7 @@ conflicts=(firefox-esr)
source=(
"https://archive.mozilla.org/pub/$pkgname/releases/$pkgver/source/$pkgname-$pkgver.source.tar.xz"{,.asc}
0001-Use-remoting-name-for-GDK-application-names.patch
+ 0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch
$pkgname.desktop
distribution.ini
mozconfig.in
@@ -54,9 +55,10 @@ source=(
arc4_remove-health-reporting.patch
arc4_remove-system-addons.patch
)
-b2sums=('6efc4bb891300918f1ff9fad7b68dc9fc7e923778e62e44784d5992ba902d92c77d1235aa5f82c8934fb356830bfabf68bda4200b19df1f6160a4426f17777f4'
+b2sums=('d8b53e43e6f6a84387129099e50d4cfecb02269407f1fa4babf9e8c75118c244029a68dd772333f34b2fc3e77ad1bde0087b2d91e16fb4b28f9ce7f556389431'
'SKIP'
'b4683a33448cf7a891d629e4e1fd290622fcf96cacf593cb733eb4daad2fd66909e125e64e5129096051ba0d2453b831b14c8faf98d345f248f2132e3931355d'
+ '4019e45534e357bad79e6421398b429c10fa12d54873f4357169efda3cd5dedccf13c4277a70a310b872b2eae09e97233e545c8619aac704b52283fb220223c1'
'e18f2c22e394ca3b6758bc130245b254947e4d15921be3da443d6d7c3c4b0d22ead1b39fbc10a4f896edd19e2a1dffbd1cbb34dc4beb0621a6ddb70ccc53b3a7'
'877eda442eb4730600dccf209a6e961ad3122ab456bbfda4ff041e8493ebaaf96224ac218360931259ff4214482f6bf65b3a3052f977ade1a274f38ffd859535'
'ef779195710256fb656af59a5252fc4b297aa1ae0afe16e64b0da1aa1cc8fcb5f31dbffd6a392fc67b44eb352da030233b22e1e67a5601373d8bbde631a1c326'
@@ -72,6 +74,9 @@ prepare() {
# mkdir mozbuild
cd ${pkgname}-${pkgver}
+ # https://bugs.archlinux.org/task/66549
+ patch -Np1 -i ../0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch
+
# https://bugzilla.mozilla.org/show_bug.cgi?id=1530052
patch -Np1 -i ../0001-Use-remoting-name-for-GDK-application-names.patch