[arch-commits] Commit in firefox/trunk (2 files)

Jan Steffens heftig at archlinux.org
Sat May 9 03:11:50 UTC 2020


    Date: Saturday, May 9, 2020 @ 03:11:50
  Author: heftig
Revision: 382832

76.0.1-1

Added:
  firefox/trunk/0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch
Modified:
  firefox/trunk/PKGBUILD

-----------------------------------------------------------------+
 0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch |   70 ++++++++++
 PKGBUILD                                                        |   15 +-
 2 files changed, 82 insertions(+), 3 deletions(-)

Added: 0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch
===================================================================
--- 0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch	                        (rev 0)
+++ 0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch	2020-05-09 03:11:50 UTC (rev 382832)
@@ -0,0 +1,70 @@
+From c3acffdb8e0cd46561d2c5131227dc92967cf3d2 Mon Sep 17 00:00:00 2001
+From: Kevin Jacobs <kjacobs at 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
+

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-05-09 01:31:31 UTC (rev 382831)
+++ PKGBUILD	2020-05-09 03:11:50 UTC (rev 382832)
@@ -3,8 +3,8 @@
 # Contributor: Jakub Schmidtke <sjakub at gmail.com>
 
 pkgname=firefox
-pkgver=76.0
-pkgrel=2
+pkgver=76.0.1
+pkgrel=1
 pkgdesc="Standalone web browser from mozilla.org"
 arch=(x86_64)
 license=(MPL GPL LGPL)
@@ -21,10 +21,12 @@
             'hunspell-en_US: Spell checking, American English')
 options=(!emptydirs !makeflags !strip)
 source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz{,.asc}
+        0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch
         0001-Use-remoting-name-for-GDK-application-names.patch
         $pkgname.desktop)
-sha256sums=('3b7b97b0b0625fc6ec23ee28d425988c679d3a56f362d62fd3b225a5d50afdc8'
+sha256sums=('f61761e32774a6bdfedd5937c4992fbe5e24c3df057c2b9a559fcd0d038777c3'
             'SKIP'
+            '215ca2cd2994d787c4748b8e76acdc21932700ab43fa6a32aa8de3ce4b380111'
             '5f7ac724a5c5afd9322b1e59006f4170ea5354ca1e0e60dab08b7784c2d8463c'
             '298eae9de76ec53182f38d5c549d0379569916eebf62149f9d7f4a7edef36abf')
 validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases <release at mozilla.com>
@@ -45,6 +47,9 @@
   mkdir mozbuild
   cd firefox-$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
 
@@ -81,6 +86,10 @@
 ac_add_options --with-google-safebrowsing-api-keyfile=${PWD at Q}/google-api-key
 ac_add_options --with-mozilla-api-keyfile=${PWD at Q}/mozilla-api-key
 
+# System libraries
+ac_add_options --with-system-nspr
+ac_add_options --with-system-nss
+
 # Features
 ac_add_options --enable-alsa
 ac_add_options --enable-jack


More information about the arch-commits mailing list