diff --git a/.gitignore b/.gitignore index 3bd017b..043a7c6 100644 --- a/.gitignore +++ b/.gitignore @@ -153,3 +153,5 @@ /icecat-78.10.0-rh1.tar.bz2 /icecat-78.10.1-langpacks.tar.gz /icecat-78.10.1-rh1.tar.bz2 +/icecat-78.11.0-langpacks.tar.gz +/icecat-78.11.0-rh1.tar.bz2 diff --git a/icecat-lang_download.sh b/icecat-lang_download.sh index 25bf7e6..9099b8f 100755 --- a/icecat-lang_download.sh +++ b/icecat-lang_download.sh @@ -1,6 +1,6 @@ #!/bin/bash -VERSION=78.10.1 +VERSION=78.11.0 URL=https://ftp.mozilla.org/pub/firefox/releases/${VERSION}esr/linux-x86_64/xpi/ for u in $URL; do diff --git a/icecat.spec b/icecat.spec index 633ca20..7778d41 100644 --- a/icecat.spec +++ b/icecat.spec @@ -107,8 +107,8 @@ ExcludeArch: ppc64le %global __requires_exclude_from ^%{icecatappdir} Name: icecat -Version: 78.10.1 -Release: 2%{extra_ver}.%{redhat_ver}%{?pre_tag}%{?dist} +Version: 78.11.0 +Release: 1%{extra_ver}.%{redhat_ver}%{?pre_tag}%{?dist} Summary: GNU version of Firefox browser # Tri-licensing scheme for Gnuzilla/IceCat in parentheses, and licenses for the extensions included @@ -184,7 +184,6 @@ Patch226: rhbz-1354671.patch Patch401: mozilla-1526653.patch Patch402: mozilla-1196777.patch Patch403: mozilla-1640567.patch -Patch404: mozilla-1680166.patch Patch412: mozilla-1337988.patch Patch414: Bug-1238661_fix-mozillaSignalTrampoline-to-work-.patch Patch422: mozilla-1580174-webrtc-popup.patch @@ -240,7 +239,9 @@ BuildRequires: java-1.8.0-openjdk-headless BuildRequires: intltool BuildRequires: libappstream-glib BuildRequires: libevent-devel +%if 0%{?system_libicu} BuildRequires: libicu-devel +%endif BuildRequires: libjpeg-turbo-devel BuildRequires: libjpeg-devel BuildRequires: libX11-devel @@ -406,7 +407,6 @@ tar -xf %{SOURCE5} %patch402 -p1 -b .1196777 %patch403 -p1 -b .1640567 -%patch404 -p1 -b .1680166 %patch423 -p1 -b .1596503 %patch424 -p1 -b .1669471 %patch425 -p1 -b .1692706 @@ -881,6 +881,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop %{_datadir}/applications/%{name}-wayland.desktop %changelog +* Tue Jun 01 2021 Antonio Trande - 78.11.0-1.rh1 +- Release 78.11.0 + * Fri May 07 2021 Antonio Trande - 78.10.1-2.rh1 - Hide DRM Content option in Preference diff --git a/mozilla-1680166.patch b/mozilla-1680166.patch deleted file mode 100644 index 896f56a..0000000 --- a/mozilla-1680166.patch +++ /dev/null @@ -1,154 +0,0 @@ -# HG changeset patch -# User Emilio Cobos Álvarez -# Date 1606907116 0 -# Node ID 60066199c32b9ea7a6ade0fcb562ef0cecb6146c -# Parent 127c98c188479c4149e02f7cb106a57c438f192f -Bug 1680166 - Return EFAULT when given a null path to stat* calls in the sandbox filter. r=gcp - -It's a common way to check the existence of system calls. Glibc may fall -back to fstatat when statx is called, passing down the null path. - -Since we handle fstatat, let's return -EFAULT the same way the real -fstatat syscall would do. - -This is needed for the sandbox not to constantly crash due to this statx -call in rustc: - -https://github.com/rust-lang/rust/blob/09c9c9f7da72b774cc445c0f56fc0b9792a49647/library/std/src/sys/unix/fs.rs#L119-L123 - -Differential Revision: https://phabricator.services.mozilla.com/D98414 - -diff --git a/security/sandbox/linux/SandboxBrokerClient.cpp b/security/sandbox/linux/SandboxBrokerClient.cpp ---- a/security/sandbox/linux/SandboxBrokerClient.cpp -+++ b/security/sandbox/linux/SandboxBrokerClient.cpp -@@ -154,21 +154,29 @@ int SandboxBrokerClient::Open(const char - } - - int SandboxBrokerClient::Access(const char* aPath, int aMode) { - Request req = {SANDBOX_FILE_ACCESS, aMode, 0}; - return DoCall(&req, aPath, nullptr, nullptr, false); - } - - int SandboxBrokerClient::Stat(const char* aPath, statstruct* aStat) { -+ if (!aPath || !aStat) { -+ return -EFAULT; -+ } -+ - Request req = {SANDBOX_FILE_STAT, 0, sizeof(statstruct)}; - return DoCall(&req, aPath, nullptr, (void*)aStat, false); - } - - int SandboxBrokerClient::LStat(const char* aPath, statstruct* aStat) { -+ if (!aPath || !aStat) { -+ return -EFAULT; -+ } -+ - Request req = {SANDBOX_FILE_STAT, O_NOFOLLOW, sizeof(statstruct)}; - return DoCall(&req, aPath, nullptr, (void*)aStat, false); - } - - int SandboxBrokerClient::Chmod(const char* aPath, int aMode) { - Request req = {SANDBOX_FILE_CHMOD, aMode, 0}; - return DoCall(&req, aPath, nullptr, nullptr, false); - } -diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp ---- a/security/sandbox/linux/SandboxFilter.cpp -+++ b/security/sandbox/linux/SandboxFilter.cpp -@@ -244,8 +244,8 @@ - auto buf = reinterpret_cast(aArgs.args[2]); - auto flags = static_cast(aArgs.args[3]); - -- if (fd != AT_FDCWD && (flags & AT_EMPTY_PATH) != 0 && -- strcmp(path, "") == 0) { -+ if (fd != AT_FDCWD && (flags & AT_EMPTY_PATH) && path && -+ !strcmp(path, "")) { - #ifdef __NR_fstat64 - return DoSyscall(__NR_fstat64, fd, buf); - #else -@@ -257,7 +257,7 @@ - return BlockedSyscallTrap(aArgs, nullptr); - } - -- if (fd != AT_FDCWD && path[0] != '/') { -+ if (fd != AT_FDCWD && path && path[0] != '/') { - SANDBOX_LOG_ERROR("unsupported fd-relative fstatat(%d, \"%s\", %p, %d)", - fd, path, buf, flags); - return BlockedSyscallTrap(aArgs, nullptr); -diff --git a/security/sandbox/linux/gtest/TestBroker.cpp b/security/sandbox/linux/gtest/TestBroker.cpp ---- a/security/sandbox/linux/gtest/TestBroker.cpp -+++ b/security/sandbox/linux/gtest/TestBroker.cpp -@@ -212,16 +212,24 @@ TEST_F(SandboxBrokerTest, Access) { - - TEST_F(SandboxBrokerTest, Stat) { - statstruct realStat, brokeredStat; - ASSERT_EQ(0, statsyscall("/dev/null", &realStat)) << "Shouldn't ever fail!"; - EXPECT_EQ(0, Stat("/dev/null", &brokeredStat)); - EXPECT_EQ(realStat.st_ino, brokeredStat.st_ino); - EXPECT_EQ(realStat.st_rdev, brokeredStat.st_rdev); - -+ // Add some indirection to avoid -Wnonnull warnings. -+ [&](const char* aPath) { -+ EXPECT_EQ(-1, statsyscall(aPath, &realStat)); -+ EXPECT_EQ(errno, EFAULT); -+ -+ EXPECT_EQ(-EFAULT, Stat(aPath, &brokeredStat)); -+ }(nullptr); -+ - EXPECT_EQ(-ENOENT, Stat("/var/empty/qwertyuiop", &brokeredStat)); - EXPECT_EQ(-EACCES, Stat("/dev", &brokeredStat)); - - EXPECT_EQ(0, Stat("/proc/self", &brokeredStat)); - EXPECT_TRUE(S_ISDIR(brokeredStat.st_mode)); - } - - TEST_F(SandboxBrokerTest, LStat) { - -# HG changeset patch -# User Emilio Cobos Álvarez -# Date 1606915787 -3600 -# Node ID d69e924f3538ff0e7f536435ada4743d50681636 -# Parent 1e73f114efc56ea47b4887f42082ff0ffd14e73d -Bug 1680166 - GCC is smarter than clang, so ignore the warning properly. - -CLOSED TREE - -MANUAL PUSH: Base toolchain build bustage. - - -diff --git a/security/sandbox/linux/gtest/TestBroker.cpp b/security/sandbox/linux/gtest/TestBroker.cpp ---- a/security/sandbox/linux/gtest/TestBroker.cpp -+++ b/security/sandbox/linux/gtest/TestBroker.cpp -@@ -212,23 +212,27 @@ TEST_F(SandboxBrokerTest, Access) { - - TEST_F(SandboxBrokerTest, Stat) { - statstruct realStat, brokeredStat; - ASSERT_EQ(0, statsyscall("/dev/null", &realStat)) << "Shouldn't ever fail!"; - EXPECT_EQ(0, Stat("/dev/null", &brokeredStat)); - EXPECT_EQ(realStat.st_ino, brokeredStat.st_ino); - EXPECT_EQ(realStat.st_rdev, brokeredStat.st_rdev); - -- // Add some indirection to avoid -Wnonnull warnings. -- [&](const char* aPath) { -- EXPECT_EQ(-1, statsyscall(aPath, &realStat)); -- EXPECT_EQ(errno, EFAULT); -+#if defined(__clang__) || defined(__GNUC__) -+# pragma GCC diagnostic push -+# pragma GCC diagnostic ignored "-Wnonnull" -+#endif -+ EXPECT_EQ(-1, statsyscall(nullptr, &realStat)); -+ EXPECT_EQ(errno, EFAULT); - -- EXPECT_EQ(-EFAULT, Stat(aPath, &brokeredStat)); -- }(nullptr); -+ EXPECT_EQ(-EFAULT, Stat(nullptr, &brokeredStat)); -+#if defined(__clang__) || defined(__GNUC__) -+# pragma GCC diagnostic pop -+#endif - - EXPECT_EQ(-ENOENT, Stat("/var/empty/qwertyuiop", &brokeredStat)); - EXPECT_EQ(-EACCES, Stat("/dev", &brokeredStat)); - - EXPECT_EQ(0, Stat("/proc/self", &brokeredStat)); - EXPECT_TRUE(S_ISDIR(brokeredStat.st_mode)); - } - diff --git a/sources b/sources index 31d827f..e6b986d 100644 --- a/sources +++ b/sources @@ -1,5 +1,5 @@ SHA512 (cbindgen-vendor.tar.xz) = 657a601d6b2a19488b5ea00f97ab04d461048f9954892bfdaf725943a3f26d492c77ddae3ce256b1c2cfd3bd3543c7b6f9ea8a4a89311fb5158afe4af6422369 -SHA512 (icecat-78.10.1-langpacks.tar.gz) = 8dc6cbc3bc803621ab7557ffb5d6233d2e523f023b38bd11b34d1648ca46f2f4a5beec3286ed33194942f323eb5c5aa9677998258141c9909a896d6003a24d71 -SHA512 (icecat-78.10.1-rh1.tar.bz2) = 70afbc63c32a9feba77e026a9fc4ab2ff643954a4017c24a9eb903e27e0d4ecf0914a45e13380abe9b26790afcfc89b7db6580d1d5bcacb0c8d324105bfbd809 +SHA512 (icecat-78.11.0-langpacks.tar.gz) = 46a4d54362f8841a25ead9baea13e98deace6dea904561757da63cab0645529648d5f6edaaee2fcc7c18a842dd597a49b9681309af5d8fec44737740dd9bbd2b +SHA512 (icecat-78.11.0-rh1.tar.bz2) = d7f493ce01eaa710ba8c48b306cbea3afa678f20f7f5f91f1871e1002b4091229ec22577f444453c2ff2af8ae55e8424ce3f1f43a18948e286fd35d5e4fe90ca SHA512 (icecat-COPYING-licensefiles.tar.gz) = ed541845170f1d209e322b0def3248d571e0c42c4a17c74e83197e743bd8a128a1475f5312d905c8e70d047eddeac17e604373892eb6d5f1720c5c361849c42c SHA512 (icecat.png) = a3cec16cb15a27c3c91b53e2c534e78b07911011ff1331e450c0baf8e13b76da7cea2a90e5d75191fa88cfbfd40a0a7f3e553e92b64d0043dadd5ad5edfdf81c