Skip to content

WIP SLOP use descriptors to avoid TOCTOU for canonicalising file system meta data#15120

Draft
Ericson2314 wants to merge 2 commits intoNixOS:masterfrom
obsidiansystems:canonicalize-toctou
Draft

WIP SLOP use descriptors to avoid TOCTOU for canonicalising file system meta data#15120
Ericson2314 wants to merge 2 commits intoNixOS:masterfrom
obsidiansystems:canonicalize-toctou

Conversation

@Ericson2314
Copy link
Member

Motivation

I suppose we should have a big issue for all the no TOCTOU, yes Descriptor work, to link here.

Context

This should not happen now, but instead happen after

I suspect what we'll want to do is expose that source accessor after
all, so we can have some extra methods to get at the underlying file
descriptors. (Or, conversely, maybe this won't be necessary, because enough of the
underlying logic will be factored into file-descriptor.hh functions
that the SourceAccessor itself will be a small wrapper.)

Either way, at that point we'll not be duplicating stuff here, nor will
be lacking a foundation on Windows, and we can then finish the job.


Add 👍 to pull requests you find important.

The Nix maintainer team uses a GitHub project board to schedule and track reviews.

@github-actions github-actions bot added new-cli Relating to the "nix" command store Issues and pull requests concerning the Nix store fetching Networking with the outside (non-Nix) world, input locking labels Jan 30, 2026
Linux, macOS, and all 3 BSDs have it (according to man page google
search), so let's just drop this. Support for not having it was added in
d03f0d4 in 2006, things have changed in
the last 20 years!
…em meta data

This should not happen now, but instead happen after

- NixOS#15119
- NixOS#15060
- Sergei's upcoming new `Descriptor`-based `SourceAccessor`

I suspect what we'll want to do is expose that source accessor after
all, so we can have some extra methods to get at the underlying file
descriptors. (Or, conversely, maybe this won't be necessary, because enough of the
underlying logic will be factored into `file-descriptor.hh` functions
that the `SourceAccessor` itself will be a small wrapper.)

Either way, at that point we'll not be duplicating stuff here, nor will
be lacking a foundation on Windows, and we can then finish the job.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fetching Networking with the outside (non-Nix) world, input locking new-cli Relating to the "nix" command store Issues and pull requests concerning the Nix store

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant