guix-mirrors/nix
Reepca Russelstein c87a9b855e
daemon: Restore post-canonicalization permissions after moving.
At this point the value of 'st.st_mode' is from before canonicalization, so
restoring to that will undo the permissions aspect of the canonicalization for
a top-level directory store item.

Fixes #1104, introduced in
ae18b3d9e6 (ae18b3d9e6).

* nix/libstore/build.cc (DerivationGoal::registerOutputs): update 'st' with
  post-canonicalization permissions before making actualPath
  temporarily-writable.
* tests/store.scm ("build outputs aren't writable"): new test.

Change-Id: I5e5eaa79fa6b7f81e1d12fd285883c762a22ce5a
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2025-09-23 11:13:22 +02:00
..
boost nix: Tweak .gitignore files. 2020-06-24 19:55:22 +01:00
libstore daemon: Restore post-canonicalization permissions after moving. 2025-09-23 11:13:22 +02:00
libutil daemon: Use std::string or std::vector instead of variable-length array (VLA). 2025-07-16 23:50:38 +02:00
nix-daemon daemon: Consider the current user as trusted. 2025-07-16 23:50:51 +02:00
.gitignore
AUTHORS
COPYING
local.mk daemon: add seccomp filter for slirp4netns. 2025-06-24 10:07:58 -04:00