diff --git a/.gitattributes b/.gitattributes
index ef4da0ff58d72ade16ccd791209fbbadec350617..20c47f7d914ff8166e51092ba4c9967c1b446782 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,2 @@
-firefox-102.11.0esr.b2.processed-source.tar.xz filter=lfs diff=lfs merge=lfs -text
-firefox-langpacks-102.11.0esr-20230508.tar.xz filter=lfs diff=lfs merge=lfs -text
+firefox-102.13.0esr.processed-source.tar.xz filter=lfs diff=lfs merge=lfs -text
+firefox-langpacks-102.13.0esr-20230704.tar.xz filter=lfs diff=lfs merge=lfs -text
diff --git a/disable-openh264-download.patch b/disable-openh264-download.patch
deleted file mode 100644
index 028b7302a4ff0e4d23260dd9de4dbeccbca9ff7c..0000000000000000000000000000000000000000
--- a/disable-openh264-download.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -up firefox-81.0/toolkit/modules/GMPInstallManager.jsm.old firefox-81.0/toolkit/modules/GMPInstallManager.jsm
---- firefox-81.0/toolkit/modules/GMPInstallManager.jsm.old 2020-09-25 10:39:04.769458703 +0200
-+++ firefox-81.0/toolkit/modules/GMPInstallManager.jsm 2020-09-25 10:39:22.038504747 +0200
-@@ -54,10 +54,6 @@ function getScopedLogger(prefix) {
-
- const LOCAL_GMP_SOURCES = [
- {
-- id: "gmp-gmpopenh264",
-- src: "chrome://global/content/gmp-sources/openh264.json",
-- },
-- {
- id: "gmp-widevinecdm",
- src: "chrome://global/content/gmp-sources/widevinecdm.json",
- },
-diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
---- a/toolkit/content/jar.mn
-+++ b/toolkit/content/jar.mn
-@@ -108,7 +108,6 @@ toolkit.jar:
- #ifdef XP_MACOSX
- content/global/macWindowMenu.js
- #endif
-- content/global/gmp-sources/openh264.json (gmp-sources/openh264.json)
- content/global/gmp-sources/widevinecdm.json (gmp-sources/widevinecdm.json)
-
- # Third party files
-diff --git a/toolkit/modules/GMPInstallManager.jsm b/toolkit/modules/GMPInstallManager.jsm
---- a/toolkit/modules/GMPInstallManager.jsm
-+++ b/toolkit/modules/GMPInstallManager.jsm
-@@ -238,6 +234,9 @@ GMPInstallManager.prototype = {
- * downloaderr, verifyerr or previouserrorencountered
- */
- installAddon(gmpAddon) {
-+ if (gmpAddon.isOpenH264) {
-+ return Promise.reject({ type: "disabled" });
-+ }
- if (this._deferred) {
- let log = getScopedLogger("GMPInstallManager.installAddon");
- log.error("previous error encountered");
-
diff --git a/firefox-102.11.0esr.b2.processed-source.tar.xz b/firefox-102.13.0esr.processed-source.tar.xz
similarity index 32%
rename from firefox-102.11.0esr.b2.processed-source.tar.xz
rename to firefox-102.13.0esr.processed-source.tar.xz
index 82d114e0457d8870f6331c6cf8871a19ed428e73..00f899d22832c3f20f736dfe276091789a5f2051 100644
--- a/firefox-102.11.0esr.b2.processed-source.tar.xz
+++ b/firefox-102.13.0esr.processed-source.tar.xz
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:5d61c7a0e5837d66787dc0e0132ced9d71ec317169efd7a421189c9d063e1808
-size 480079388
+oid sha256:145cd326b4058255e34f11fad73a2e3b80471cbac648366967117818e1c8dfdf
+size 480310156
diff --git a/firefox-1683885913.ec99acb.tar b/firefox-1683885913.ec99acb.tar
new file mode 100644
index 0000000000000000000000000000000000000000..ec3b3430cca969b5ac148fa42f3f96ba8f2b6dd2
Binary files /dev/null and b/firefox-1683885913.ec99acb.tar differ
diff --git a/firefox-langpacks-102.11.0esr-20230508.tar.xz b/firefox-langpacks-102.13.0esr-20230704.tar.xz
similarity index 32%
rename from firefox-langpacks-102.11.0esr-20230508.tar.xz
rename to firefox-langpacks-102.13.0esr-20230704.tar.xz
index 275e6a6cd7663a9e22f5e25481f9a1c986ebf5c4..259221d0a73c794c4d7ff688359fa6adb051a6c4 100644
--- a/firefox-langpacks-102.11.0esr-20230508.tar.xz
+++ b/firefox-langpacks-102.13.0esr-20230704.tar.xz
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:edac4ac48d5e9378a1874adcdd1eabaaa6cd56cc747a4eaefd5b6bec6ff18960
-size 43998532
+oid sha256:e3f71b3c4087b445b86ce74bbb0c38855fbe7698e0de67880b273e47cf00fe82
+size 43989896
diff --git a/firefox-openeuler-default-prefs.js b/firefox-openeuler-default-prefs.js
index 3b40fac4dbaaf44bc0193d6d776a7b88e0829805..62b58af2d41ba1037991e3962fb686d58d82617d 100644
--- a/firefox-openeuler-default-prefs.js
+++ b/firefox-openeuler-default-prefs.js
@@ -18,8 +18,7 @@ pref("startup.homepage_override_url", "https://openeuler.org/zh/");
pref("startup.homepage_welcome_url", "https://openeuler.org/zh/");
pref("browser.startup.homepage", "data:text/plain,browser.startup.homepage=https://openeuler.org/zh/");
pref("geo.wifi.uri", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
-pref("media.gmp-gmpopenh264.provider.enabled",false);
-pref("media.gmp-gmpopenh264.autoupdate",false);
+pref("media.gmp-gmpopenh264.autoupdate",true);
pref("media.gmp-gmpopenh264.enabled",false);
pref("media.gmp.decoder.enabled", true);
pref("plugins.notifyMissingFlash", false);
@@ -38,3 +37,6 @@ pref("browser.gnome-search-provider.enabled",true);
pref("media.navigator.mediadatadecoder_vpx_enabled", true);
/* See https://bugzilla.redhat.com/show_bug.cgi?id=1672424 */
pref("storage.nfs_filesystem", true);
+pref("datareporting.healthreport.uploadEnabled", false);
+pref("datareporting.policy.dataSubmissionEnabled", false);
+pref("toolkit.telemetry.archive.enabled", false);
diff --git a/firefox.sh.in b/firefox.sh.in
index f437ab19d56a153a03261051a2b454095385c973..1045b730541462ee7969f4e0082d4168ab169080 100644
--- a/firefox.sh.in
+++ b/firefox.sh.in
@@ -191,8 +191,8 @@ fi
# When Firefox is not running, restore SELinux labels for profile files
if [ $MOZILLA_DOWN -ne 0 ]; then
- if [ -x $GETENFORCE_FILE ] && [ `$GETENFORCE_FILE` != "Disabled" ]; then
- (/usr/sbin/restorecon -vr ~/.mozilla/firefox/* &)
+ if [ -x $GETENFORCE_FILE ] && [ `$GETENFORCE_FILE` != "Disabled" ] && [ -d ~/.mozilla/firefox ]; then
+ (/usr/sbin/restorecon -vr ~/.mozilla/firefox &)
fi
fi
diff --git a/firefox.spec b/firefox.spec
index ce08622990b5cfe81d11039f45ff2777c7a66140..5621cfa0f23e103716fd2576ef034048878665c2 100644
--- a/firefox.spec
+++ b/firefox.spec
@@ -60,7 +60,7 @@
%endif
%endif
%global dts_version 10
-%global rust_version 1.57
+%global rust_version 1.60
%global wayland_backend_default 0
%if 0%{?flatpak}
%global wayland_backend_default 0
@@ -147,24 +147,20 @@
Summary: Mozilla Firefox Web browser
Name: firefox
-Version: 102.11.0
-Release: 2
+Version: 102.13.0
+Release: 1
URL: https://www.mozilla.org/firefox/
License: MPLv1.1 or GPLv2+ or LGPLv2+
-# Workaround the dreaded "upstream source file changed content" rpminspect failure.
-# If set to .b2 or .b3 ... the processed source file needs to be renamed before upload, e.g.
-# firefox-102.8.0esr.b2.processed-source.tar.xz
-# When unset use processed source file name as is.
-%global buildnum .b2
# We can't use the official tarball as it contains some test files that use
# licenses that are rejected.
# The official tarball has to be always processed by the process-official-tarball
# script
# Link to original tarball: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
-Source0: firefox-%{version}%{?pre_version}%{?buildnum}.processed-source.tar.xz
+Source0: firefox-%{version}%{?pre_version}.processed-source.tar.xz
%if %{with langpacks}
-Source1: firefox-langpacks-%{version}%{?pre_version}-20230508.tar.xz
+# wget -r -np -nH -R index.html https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/linux-x86_64/xpi/
+Source1: firefox-langpacks-%{version}%{?pre_version}-20230704.tar.xz
%endif
Source2: cbindgen-vendor.tar.xz
Source3: process-official-tarball
@@ -240,6 +236,7 @@ Patch422: one_swizzle_to_rule_them_all.patch
Patch423: svg-rendering.patch
Patch424: D158770.patch
Patch425: disable-glean-sdk,psutil,zstandard.patch
+Patch426: mozilla-1833330.patch
# PGO/LTO patches
Patch600: pgo.patch
@@ -532,6 +529,7 @@ to run Firefox explicitly on X11.
%patch423 -p1 -b .svg-rendering
%patch424 -p1 -b .D158770.diff
%patch425 -p1
+%patch426 -p1 -b .mozilla-1833330
# PGO patches
%if %{build_with_pgo}
@@ -1126,6 +1124,14 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
%endif
%changelog
+* Thu Jul 06 2023 wangkai <13474090681@163.com> - 102.13.0-1
+- Update to 102.13.0
+- Fix CVE-2023-34416 CVE-2023-34414 CVE-2023-37201 CVE-2023-37202 CVE-2023-37207 CVE-2023-37208 CVE-2023-37211
+- Remove unused patch
+
+* Mon May 22 2023 wangkai <13474090681@163.com> - 102.11.0-3
+- Modify buildrequires rust version to 1.60
+
* Tue May 16 2023 xu_ping <707078654@qq.com> - 102.11.0-2
- Modify error source1
diff --git a/mozilla-1833330.patch b/mozilla-1833330.patch
new file mode 100644
index 0000000000000000000000000000000000000000..2c1af646fda5d07e5d0f2114396a6d2df4a009a8
--- /dev/null
+++ b/mozilla-1833330.patch
@@ -0,0 +1,632 @@
+diff --git a/security/manager/locales/en-US/security/certificates/certManager.ftl b/security/manager/locales/en-US/security/certificates/certManager.ftl
+--- a/security/manager/locales/en-US/security/certificates/certManager.ftl
++++ b/security/manager/locales/en-US/security/certificates/certManager.ftl
+@@ -51,9 +51,6 @@ certmgr-cert-name =
+ certmgr-cert-server =
+ .label = Server
+
+-certmgr-override-lifetime =
+- .label = Lifetime
+-
+ certmgr-token-name =
+ .label = Security Device
+
+@@ -69,6 +66,9 @@ certmgr-email =
+ certmgr-serial =
+ .label = Serial Number
+
++certmgr-fingerprint-sha-256 =
++ .label = SHA-256 Fingerprint
++
+ certmgr-view =
+ .label = View…
+ .accesskey = V
+diff --git a/security/manager/pki/resources/content/certManager.js b/security/manager/pki/resources/content/certManager.js
+--- a/security/manager/pki/resources/content/certManager.js
++++ b/security/manager/pki/resources/content/certManager.js
+@@ -64,22 +64,16 @@ var serverRichList = {
+
+ buildRichList() {
+ let overrides = overrideService.getOverrides().map(item => {
+- let cert = null;
+- if (item.dbKey !== "") {
+- cert = certdb.findCertByDBKey(item.dbKey);
+- }
+ return {
+ hostPort: item.hostPort,
+- dbKey: item.dbKey,
+ asciiHost: item.asciiHost,
+ port: item.port,
+ originAttributes: item.originAttributes,
+- isTemporary: item.isTemporary,
+- displayName: cert !== null ? cert.displayName : "",
++ fingerprint: item.fingerprint,
+ };
+ });
+ overrides.sort((a, b) => {
+- let criteria = ["hostPort", "displayName"];
++ let criteria = ["hostPort", "fingerprint"];
+ for (let c of criteria) {
+ let res = a[c].localeCompare(b[c]);
+ if (res !== 0) {
+@@ -106,10 +100,10 @@ var serverRichList = {
+ _richBoxAddItem(item) {
+ let richlistitem = document.createXULElement("richlistitem");
+
+- richlistitem.setAttribute("dbKey", item.dbKey);
+ richlistitem.setAttribute("host", item.asciiHost);
+ richlistitem.setAttribute("port", item.port);
+ richlistitem.setAttribute("hostPort", item.hostPort);
++ richlistitem.setAttribute("fingerprint", item.fingerprint);
+ richlistitem.setAttribute(
+ "originAttributes",
+ JSON.stringify(item.originAttributes)
+@@ -120,18 +114,7 @@ var serverRichList = {
+ hbox.setAttribute("equalsize", "always");
+
+ hbox.appendChild(createRichlistItem({ raw: item.hostPort }));
+- hbox.appendChild(
+- createRichlistItem(
+- item.displayName !== ""
+- ? { raw: item.displayName }
+- : { l10nid: "no-cert-stored-for-override" }
+- )
+- );
+- hbox.appendChild(
+- createRichlistItem({
+- l10nid: item.isTemporary ? "temporary-override" : "permanent-override",
+- })
+- );
++ hbox.appendChild(createRichlistItem({ raw: item.fingerprint }));
+
+ richlistitem.appendChild(hbox);
+
+@@ -170,32 +153,6 @@ var serverRichList = {
+ }
+ },
+
+- viewSelectedRichListItem() {
+- let selectedItem = this.richlist.selectedItem;
+- if (!selectedItem) {
+- return;
+- }
+-
+- let dbKey = selectedItem.getAttribute("dbKey");
+- if (dbKey) {
+- let cert = certdb.findCertByDBKey(dbKey);
+- viewCertHelper(window, cert);
+- }
+- },
+-
+- exportSelectedRichListItem() {
+- let selectedItem = this.richlist.selectedItem;
+- if (!selectedItem) {
+- return;
+- }
+-
+- let dbKey = selectedItem.getAttribute("dbKey");
+- if (dbKey) {
+- let cert = certdb.findCertByDBKey(dbKey);
+- exportToFile(window, cert);
+- }
+- },
+-
+ addException() {
+ let retval = {
+ exceptionAdded: false,
+@@ -212,16 +169,8 @@ var serverRichList = {
+ },
+
+ _setButtonState() {
+- let websiteViewButton = document.getElementById("websites_viewButton");
+- let websiteExportButton = document.getElementById("websites_exportButton");
+ let websiteDeleteButton = document.getElementById("websites_deleteButton");
+-
+- let certKey = this.richlist.selectedItem?.getAttribute("dbKey");
+- let cert = certKey && certdb.findCertByDBKey(certKey);
+-
+ websiteDeleteButton.disabled = this.richlist.selectedIndex < 0;
+- websiteExportButton.disabled = !cert;
+- websiteViewButton.disabled = websiteExportButton.disabled;
+ },
+ };
+ /**
+diff --git a/security/manager/pki/resources/content/certManager.xhtml b/security/manager/pki/resources/content/certManager.xhtml
+--- a/security/manager/pki/resources/content/certManager.xhtml
++++ b/security/manager/pki/resources/content/certManager.xhtml
+@@ -157,18 +157,13 @@
+
+
+
+-
+-
++
+
+
+
+
+
+
+-
+-
+
+