summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2021-02-19 20:11:30 +0200
committerCaolán McNamara <caolanm@redhat.com>2021-02-23 15:14:21 +0100
commit9d6159e86f32cc1fa96724e031d02ffaadd60337 (patch)
tree7667bc9dc5695b03299888f5999b0a30d0cf754d
parentd0911a2070c73e90251591b1e853947ca2f22a42 (diff)
tdf#140332: Can't use System V semaphores in a sandboxed macOS process
See https://developer.apple.com/library/archive/documentation/Security/Conceptual/AppSandboxDesignGuide/AppSandboxInDepth/AppSandboxInDepth.html , "Note: System V semaphores are not supported in sandboxed apps". So use POSIX semaphores instead. Change-Id: I37c910cf13b868ab15fe31f90e42d24a9a24eeb1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111239 Tested-by: Tor Lillqvist <tml@collabora.com> Reviewed-by: Tor Lillqvist <tml@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111256 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Jenkins
-rw-r--r--external/firebird/UnpackedTarball_firebird.mk6
-rw-r--r--external/firebird/firebird-macosx-sandbox.patch.113
2 files changed, 19 insertions, 0 deletions
diff --git a/external/firebird/UnpackedTarball_firebird.mk b/external/firebird/UnpackedTarball_firebird.mk
index 25b1640755a1..196895ff757c 100644
--- a/external/firebird/UnpackedTarball_firebird.mk
+++ b/external/firebird/UnpackedTarball_firebird.mk
@@ -56,6 +56,12 @@ $(eval $(call gb_UnpackedTarball_add_patches,firebird,\
))
endif
+ifeq ($(ENABLE_MACOSX_SANDBOX),TRUE)
+$(eval $(call gb_UnpackedTarball_add_patches,firebird,\
+ external/firebird/firebird-macosx-sandbox.patch.1 \
+))
+endif
+
ifneq ($(filter -fsanitize=%,$(CC)),)
$(eval $(call gb_UnpackedTarball_add_patches,firebird, \
external/firebird/sanitizer.patch \
diff --git a/external/firebird/firebird-macosx-sandbox.patch.1 b/external/firebird/firebird-macosx-sandbox.patch.1
new file mode 100644
index 000000000000..3bf246c682ba
--- /dev/null
+++ b/external/firebird/firebird-macosx-sandbox.patch.1
@@ -0,0 +1,13 @@
+-*- Mode: Diff -*-
+
+--- firebird/src/common/isc_s_proto.h
++++ firebird/src/common/isc_s_proto.h
+@@ -37,6 +37,8 @@
+ // Firebird platform-specific synchronization data structures
+
+ #if defined(DARWIN)
++#define USE_POSIX_SEMAPHORE
++#define USE_SHARED_FUTEX
+ #define USE_FILELOCKS
+ #endif
+