]> dgit.raspbian.org Git - git-annex.git/commit
honor preferred content settings of cluster nodes
authorJoey Hess <joeyh@joeyh.name>
Tue, 25 Jun 2024 15:35:41 +0000 (11:35 -0400)
committerJoey Hess <joeyh@joeyh.name>
Tue, 25 Jun 2024 15:43:09 +0000 (11:43 -0400)
commit1bfe7f8a53273908d06eb1c8c1fa8d6e60464b82
tree518fffd25b7686b5ab963aadb77a33895c9fd1cd
parenta23b0abf28591e1dab79e2dcfc32c6e591a9f259
honor preferred content settings of cluster nodes

Except when no nodes want a file, it has to be stored somewhere, so
store it on all. Which is not really desirable, but neither is having to
pick one.

ProtoAssociatedFile deserialization is rather broken, and this could
possibly affect preferred content expressions that match on filenames.

The inability to roundtrip whitespace like tabs and newlines through is
not a problem because preferred content expressions can't be written
that match on whitespace such as a tab. For example:

joey@darkstar:~/tmp/bench/z>git-annex wanted  origin-node2 'exclude=*CTRL-VTab*'
wanted origin-node2
git-annex: Parse error: Parse failure: near "*"

But, the filtering of control characters could perhaps be a problem. I think
that filtering is now obsolete, git-annex has comprehensive filtering of
control characters when displaying filenames, that happens at a higher level.
However, I don't want to risk a security hole so am leaving in that filtering
in ProtoAssociatedFile deserialization for now.
Annex/Cluster.hs
P2P/Protocol.hs
P2P/Proxy.hs
doc/todo/git-annex_proxies.mdwn