about summary refs log tree commit diff
path: root/nixos/modules
diff options
context:
space:
mode:
authore1mo <git@e1mo.de>2024-03-21 15:41:00 +0100
committerMartin Weinelt <hexa@darmstadt.ccc.de>2024-03-21 21:49:39 +0100
commit6d5a6cab711e8dfd4e6d5ff677f82690a9d9e07a (patch)
tree85bdcb1ee1b8b8359dd304e1068a8d856269666a /nixos/modules
parentc08b18548481d41187c43580bea8f47c5ffbb922 (diff)
downloadnixlib-6d5a6cab711e8dfd4e6d5ff677f82690a9d9e07a.tar
nixlib-6d5a6cab711e8dfd4e6d5ff677f82690a9d9e07a.tar.gz
nixlib-6d5a6cab711e8dfd4e6d5ff677f82690a9d9e07a.tar.bz2
nixlib-6d5a6cab711e8dfd4e6d5ff677f82690a9d9e07a.tar.lz
nixlib-6d5a6cab711e8dfd4e6d5ff677f82690a9d9e07a.tar.xz
nixlib-6d5a6cab711e8dfd4e6d5ff677f82690a9d9e07a.tar.zst
nixlib-6d5a6cab711e8dfd4e6d5ff677f82690a9d9e07a.zip
nixos/pretix: Fix pdf generation
Previously, pdftk (part of the ticket, badge, ... generation pipeline)
would fail with:

```
Error occurred during initialization of VM
Failed to mark memory page as executable - check if grsecurity/PaX is enabled
```
Thise caused pdf generation to fail.

Since pdftk is a java application and, according to systemd.exec(5),

 > Note that [MemoryDenyWriteExecute=] is incompatible with programs and
 > libraries that generate program code dynamically at runtime, including
 > JIT execution engines, executable stacks, and code "trampoline" featu
 > re of various C compilers.

Disabling `MemoryDenyWriteExecute=` fixes it.
Diffstat (limited to 'nixos/modules')
-rw-r--r--nixos/modules/services/web-apps/pretix.nix2
1 files changed, 1 insertions, 1 deletions
diff --git a/nixos/modules/services/web-apps/pretix.nix b/nixos/modules/services/web-apps/pretix.nix
index 500b2eb5416b..18d4a20beeec 100644
--- a/nixos/modules/services/web-apps/pretix.nix
+++ b/nixos/modules/services/web-apps/pretix.nix
@@ -479,7 +479,7 @@ in
           CapabilityBoundingSet = [ "" ];
           DevicePolicy = "closed";
           LockPersonality = true;
-          MemoryDenyWriteExecute = true;
+          MemoryDenyWriteExecute = false; # required by pdftk
           NoNewPrivileges = true;
           PrivateDevices = true;
           PrivateTmp = true;