nix/tests/unit
Robert Hensing b5947b55e2 Disallow store path names that are . or .. (plus opt. -)
As discussed in the maintainer meeting on 2024-01-29.

Mainly this is to avoid a situation where the name is parsed and
treated as a file name, mostly to protect users.
.-* and ..-* are also considered invalid because they might strip
on that separator to remove versions. Doesn't really work, but that's
what we decided, and I won't argue with it, because .-* probably
doesn't seem to have a real world application anyway.
We do still permit a 1-character name that's just "-", which still
poses a similar risk in such a situation. We can't start disallowing
trailing -, because a non-zero number of users will need it and we've
seen how annoying and painful such a change is.

What matters most is preventing a situation where . or .. can be
injected, and to just get this done.

(cherry picked from commit f1b4663805)
2024-01-31 18:11:17 +00:00
..
libexpr Merge pull request #9754 from 9999years/print-value-when-coercion-fails 2024-01-24 12:48:39 +01:00
libexpr-support Only link with -pthread on Unix 2024-01-10 20:38:39 -05:00
libstore Disallow store path names that are . or .. (plus opt. -) 2024-01-31 18:11:17 +00:00
libstore-support test: Generate distinct path names 2024-01-31 18:11:17 +00:00
libutil Improve the FileSystemObjectSink interface 2024-01-22 18:01:21 -05:00
libutil-support test: Generate distinct hashes 2024-01-31 18:11:17 +00:00