guix-mirrors/nix/libstore
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
..
.gitignore
build.cc daemon: Restore post-canonicalization permissions after moving. 2025-09-23 11:13:22 +02:00
builtins.cc
builtins.hh
derivations.cc daemon: Remove ‘foreach’ and ‘foreach_reverse’ 2025-06-09 22:05:13 +02:00
derivations.hh
gc.cc daemon: “cannot read potential root” messages shows errno message. 2025-09-18 12:14:34 +02:00
globals.cc daemon: Use slirp4netns to provide networking to fixed-output derivations. 2025-06-24 10:07:57 -04:00
globals.hh daemon: Use slirp4netns to provide networking to fixed-output derivations. 2025-06-24 10:07:57 -04:00
local-store.cc daemon: Remove ‘foreach’ and ‘foreach_reverse’ 2025-06-09 22:05:13 +02:00
local-store.hh
misc.cc guix gc: Adjust size suffix based on the amount of data. 2025-07-28 13:57:53 +03:00
misc.hh guix gc: Adjust size suffix based on the amount of data. 2025-07-28 13:57:53 +03:00
optimise-store.cc guix gc: Adjust size suffix based on the amount of data. 2025-07-28 13:57:53 +03:00
pathlocks.cc daemon: Remove ‘foreach’ and ‘foreach_reverse’ 2025-06-09 22:05:13 +02:00
pathlocks.hh
references.cc daemon: Remove ‘foreach’ and ‘foreach_reverse’ 2025-06-09 22:05:13 +02:00
references.hh
sqlite.cc
sqlite.hh
store-api.cc daemon: Remove ‘foreach’ and ‘foreach_reverse’ 2025-06-09 22:05:13 +02:00
store-api.hh daemon: Fix build failure with gcc@15. 2025-06-01 16:01:03 +02:00
worker-protocol.hh daemon: Implement ‘substitute-urls’ RPC. 2023-12-11 23:18:53 +01:00