From c73b07991f304229f984bec85dd582e25006b02c Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Mon, 26 Oct 2026 19:09:32 +0900 Subject: [PATCH 1/2] change: abstract lock file path --- dzgui/const/constants.py | 1 + dzgui/init/flock.py | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dzgui/const/constants.py b/dzgui/const/constants.py index 6d062cd..aba522f 100644 --- a/dzgui/const/constants.py +++ b/dzgui/const/constants.py @@ -96,6 +96,7 @@ LOG_FILTERS = ("CRITICAL", "WARNING", "INFO", "DEBUG") TMP_PATH = "/tmp" TMP_TARBALL = "/tmp/dzgui.tar.gz" TMP_EXE = "/tmp/dzgui/dzgui" +LOCK_FILE = "/tmp/dzgui.flock" DAYZ_COMMUNITY_ROOT = "Missions" diff --git a/dzgui/init/flock.py b/dzgui/init/flock.py index 922126a..0992ed5 100644 --- a/dzgui/init/flock.py +++ b/dzgui/init/flock.py @@ -5,8 +5,9 @@ import sys from pathlib import Path from typing import TextIO -from dzgui.views.dialogs.early_alert import EarlyAlertDialog +from dzgui.const.constants import LOCK_FILE from dzgui.util.strings import cannot_acquire_lock +from dzgui.views.dialogs.early_alert import EarlyAlertDialog def lock_release(lock: TextIO) -> None: @@ -15,7 +16,7 @@ def lock_release(lock: TextIO) -> None: def lock_acquire() -> TextIO: - lockfile = Path("/tmp/dzgui.flock") + lockfile = Path(LOCK_FILE) lock = open(lockfile, "w") try: fcntl.flock(lock, fcntl.LOCK_EX | fcntl.LOCK_NB) From 5bee3614bd84f0312c4f40eae4c55837f23051bd Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Mon, 26 Oct 2026 19:09:50 +0900 Subject: [PATCH 2/2] fix: whitelist /tmp --- dzgui/util/flatpak.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dzgui/util/flatpak.py b/dzgui/util/flatpak.py index a432970..7372fd6 100644 --- a/dzgui/util/flatpak.py +++ b/dzgui/util/flatpak.py @@ -1,7 +1,7 @@ import logging import subprocess -from dzgui.const.constants import APP_NAME, FLATPAK_APPID, GTK_APP_ID +from dzgui.const.constants import APP_NAME, FLATPAK_APPID, GTK_APP_ID, TMP_PATH logger = logging.getLogger(APP_NAME) @@ -18,7 +18,11 @@ def apply_overrides(xdg: dict[str, str]) -> None: ] subprocess.run([*args], capture_output=True) - for path in xdg.values(): + paths: list[str] = [] + paths.extend([*xdg.values()]) + paths.append(TMP_PATH) + + for path in paths: args = [ "flatpak", "--user",