From 3fdb5a5d88abede3cf5e2dc803fdbf0a5c43f5fd Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Sun, 26 Jul 2026 23:52:00 -0700 Subject: [PATCH] Reset runtime env after privilege drop --- archivebox/config/permissions.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/archivebox/config/permissions.py b/archivebox/config/permissions.py index 0a9edd48..59603d2b 100644 --- a/archivebox/config/permissions.py +++ b/archivebox/config/permissions.py @@ -102,6 +102,21 @@ def drop_privileges(): os.environ["HOME"] = pw_record.pw_dir os.environ["LOGNAME"] = pw_record.pw_name os.environ["USER"] = pw_record.pw_name + os.environ["XDG_CACHE_HOME"] = str(Path(pw_record.pw_dir) / ".cache") + os.environ["XDG_CONFIG_HOME"] = str(Path(pw_record.pw_dir) / ".config") + os.environ["XDG_DATA_HOME"] = str(Path(pw_record.pw_dir) / ".local" / "share") + os.environ.pop("XDG_RUNTIME_DIR", None) + os.environ.pop("ABXBUS_MULTIPROCESS_SEMAPHORE_DIR", None) + + semaphore_dir = Path(pw_record.pw_dir) / ".cache" / "abxbus" / "semaphores" + os.environ["ABXBUS_MULTIPROCESS_SEMAPHORE_DIR"] = str(semaphore_dir) + + try: + from abxbus import retry as abxbus_retry + except Exception: + pass + else: + abxbus_retry.MULTIPROCESS_SEMAPHORE_DIR = semaphore_dir if ARCHIVEBOX_USER == 0 or not ARCHIVEBOX_USER_EXISTS: print(