From b884a5e0f8f2b604aa28de76938618ad9cf9f407 Mon Sep 17 00:00:00 2001 From: Johannes Date: Mon, 23 Nov 2020 22:45:51 +0100 Subject: [PATCH] firefox: fix sandbox for fcntl The assumption that O_LARGEFILE is 0 is only true on glibc, setting it to 00100000 is wrong for many architectures. --- srcpkgs/firefox/patches/sandbox-largefile.patch | 17 +++++++++++++++++ srcpkgs/firefox/template | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/firefox/patches/sandbox-largefile.patch diff --git a/srcpkgs/firefox/patches/sandbox-largefile.patch b/srcpkgs/firefox/patches/sandbox-largefile.patch new file mode 100644 index 00000000000..494ca82df5a --- /dev/null +++ b/srcpkgs/firefox/patches/sandbox-largefile.patch @@ -0,0 +1,17 @@ +--- security/sandbox/linux/SandboxFilter.cpp 2020-11-23 22:41:14.556378950 +0100 ++++ security/sandbox/linux/SandboxFilter.cpp 2020-11-23 22:40:23.595806444 +0100 +@@ -68,7 +68,13 @@ + + // The headers define O_LARGEFILE as 0 on x86_64, but we need the + // actual value because it shows up in file flags. +-#define O_LARGEFILE_REAL 00100000 ++#if defined(__x86_64__) || defined(__i386__) || defined(__mips__) ++#define O_LARGEFILE_REAL 0100000 ++#elif defined(__powerpc__) ++#define O_LARGEFILE_REAL 0200000 ++#else ++#define O_LARGEFILE_REAL O_LARGEFILE ++#endif + + // Not part of UAPI, but userspace sees it in F_GETFL; see bug 1650751. + #define FMODE_NONOTIFY 0x4000000 diff --git a/srcpkgs/firefox/template b/srcpkgs/firefox/template index 8383fcc952f..7d792ca84e7 100644 --- a/srcpkgs/firefox/template +++ b/srcpkgs/firefox/template @@ -4,7 +4,7 @@ # pkgname=firefox version=83.0 -revision=1 +revision=2 build_helper="rust" short_desc="Mozilla Firefox web browser" maintainer="Johannes "