extra/firefox to 77.0-1

This commit is contained in:
Kevin Mihelich 2020-06-02 12:40:58 +00:00
parent 7e2bb20f4f
commit 5862b4ba75
4 changed files with 27 additions and 165 deletions

View file

@ -1,70 +0,0 @@
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

View file

@ -1,18 +1,18 @@
From 83f234464554c7f4393cd1dbdeb3a68d3ae0ccae Mon Sep 17 00:00:00 2001
From 5025aab61517c8608b555ba929c61eb0706bd6bd Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Mon, 25 Mar 2019 20:30:11 +0100
Subject: [PATCH] Use remoting name for GDK application names
---
toolkit/xre/nsAppRunner.cpp | 6 +-----
widget/gtk/nsAppShell.cpp | 7 +++----
2 files changed, 4 insertions(+), 9 deletions(-)
toolkit/xre/nsAppRunner.cpp | 6 +-----
widget/gtk/nsAppShell.cpp | 11 ++++-------
2 files changed, 5 insertions(+), 12 deletions(-)
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
index 984b998133bd..b6c9f013940c 100644
index da8289200e72..452195b146f3 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -3746,11 +3746,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
@@ -3785,11 +3785,7 @@ int XREMain::XRE_mainStartup(bool* aExitFlag) {
// consistently.
// Set program name to the one defined in application.ini.
@ -26,7 +26,7 @@ index 984b998133bd..b6c9f013940c 100644
// Initialize GTK here for splash.
diff --git a/widget/gtk/nsAppShell.cpp b/widget/gtk/nsAppShell.cpp
index 0daa78fdbbad..49038d0bb1c8 100644
index 163a93e2d1a4..4b6d45217671 100644
--- a/widget/gtk/nsAppShell.cpp
+++ b/widget/gtk/nsAppShell.cpp
@@ -24,6 +24,7 @@
@ -37,19 +37,23 @@ index 0daa78fdbbad..49038d0bb1c8 100644
#include "ScreenHelperGTK.h"
#include "HeadlessScreenHelper.h"
#include "mozilla/widget/ScreenManager.h"
@@ -175,10 +176,8 @@ nsresult nsAppShell::Init() {
// option when program uses gdk_set_program_class().
//
// See https://bugzilla.gnome.org/show_bug.cgi?id=747634
- nsAutoString brandName;
- mozilla::widget::WidgetUtils::GetBrandShortName(brandName);
- if (!brandName.IsEmpty()) {
- gdk_set_program_class(NS_ConvertUTF16toUTF8(brandName).get());
+ if (gAppData) {
+ gdk_set_program_class(gAppData->remotingName);
@@ -175,13 +176,9 @@ nsresult nsAppShell::Init() {
// See https://bugzilla.gnome.org/show_bug.cgi?id=747634
//
// Only bother doing this for the parent process, since it's the one
- // creating top-level windows. (At this point, a child process hasn't
- // received the list of registered chrome packages, so the
- // GetBrandShortName call would fail anyway.)
- nsAutoString brandName;
- mozilla::widget::WidgetUtils::GetBrandShortName(brandName);
- if (!brandName.IsEmpty()) {
- gdk_set_program_class(NS_ConvertUTF16toUTF8(brandName).get());
+ // creating top-level windows.
+ if (gAppData) {
+ gdk_set_program_class(gAppData->remotingName);
}
}
}
--
2.24.0
2.26.1

View file

@ -10,14 +10,13 @@ buildarch=12
highmem=1
pkgname=firefox
pkgver=76.0.1
pkgver=77.0
pkgrel=1
pkgdesc="Standalone web browser from mozilla.org"
arch=(x86_64)
license=(MPL GPL LGPL)
url="https://www.mozilla.org/firefox/"
depends=(gtk3 libxt startup-notification mime-types dbus-glib ffmpeg nss
ttf-font libpulse)
depends=(gtk3 libxt mime-types dbus-glib ffmpeg nss ttf-font libpulse)
makedepends=(unzip zip diffutils python2-setuptools yasm mesa imake inetutils
xorg-server-xvfb autoconf2.13 rust clang llvm jack gtk2 python
nodejs python2-psutil cbindgen nasm)
@ -30,15 +29,13 @@ options=(!emptydirs !makeflags !strip)
source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz{,.asc}
arm.patch
build-arm-libopus.patch
0001-Bug-1624128-Update-CK_GCM_PARAMS-uses-for-PKCS11-v3..patch
0001-Use-remoting-name-for-GDK-application-names.patch
$pkgname.desktop)
sha256sums=('f61761e32774a6bdfedd5937c4992fbe5e24c3df057c2b9a559fcd0d038777c3'
sha256sums=('b534794c493d8698dfb6c852af52b49540afdf88dc50451f42d6591de93291e8'
'SKIP'
'bc00516032330760444939c516a60c78f868631e1b37f075f0fe71a53737b966'
'2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9'
'215ca2cd2994d787c4748b8e76acdc21932700ab43fa6a32aa8de3ce4b380111'
'5f7ac724a5c5afd9322b1e59006f4170ea5354ca1e0e60dab08b7784c2d8463c'
'3bb7463471fb43b2163a705a79a13a3003d70fff4bbe44f467807ca056de9a75'
'298eae9de76ec53182f38d5c549d0379569916eebf62149f9d7f4a7edef36abf')
validpgpkeys=('14F26682D0916CDD81E37B6D61B7B526D98F0353') # Mozilla Software Releases <release@mozilla.com>
@ -59,9 +56,6 @@ prepare() {
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
@ -110,9 +104,7 @@ ac_add_options --with-system-nss
# Features
ac_add_options --enable-alsa
ac_add_options --enable-jack
ac_add_options --enable-startup-notification
ac_add_options --disable-crashreporter
ac_add_options --disable-gconf
ac_add_options --disable-updater
ac_add_options --disable-tests
END

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 7.3 KiB