git-annex/Git
Joey Hess 063c00e4f7
git style filename quoting for giveup
When the filenames are part of the git repository or other files that
might have attacker-controlled names, quote them in error messages.

This is fairly complete, although I didn't do the one in
Utility.DirWatcher.INotify.hs because that doesn't have access to
Git.Filename or Annex.

But it's also quite possible I missed some. And also while scanning for
these, I found giveup used with other things that could be attacker
controlled to contain control characters (eg Keys). So, I'm thinking
it would also be good for giveup to just filter out control characters.
This commit is then not the only line of defence, but just good
formatting when git-annex displays a filename in an error message.

Sponsored-by: Kevin Mueller on Patreon
2023-04-10 12:56:45 -04:00
..
Command update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Remote Removed support for git versions older than 2.1 2019-09-11 16:14:43 -04:00
AutoCorrect.hs all commands building except for assistant 2019-12-05 14:41:18 -04:00
Branch.hs sync --quiet 2021-07-19 11:28:47 -04:00
BuildVersion.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
CatFile.hs separate handles for cat-file and cat-file --batch-check 2021-09-24 13:16:13 -04:00
CheckAttr.hs mincopies 2021-01-06 14:15:19 -04:00
CheckIgnore.hs more RawFilePath conversion 2020-11-03 10:11:04 -04:00
Command.hs convert some error to giveup 2021-12-09 14:36:54 -04:00
Config.hs Revert "revert recent bug fix temporarily for release" 2023-02-14 14:11:23 -04:00
ConfigTypes.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Construct.hs Windows: Support urls like "file:///c:/path" 2023-03-27 13:38:02 -04:00
Credential.hs Windows: Support urls like "file:///c:/path" 2023-03-27 13:38:02 -04:00
CurrentRepo.hs Revert "revert recent bug fix temporarily for release" 2023-02-14 14:11:23 -04:00
DiffTree.hs git style quoting for ActionItemOther 2023-04-08 16:30:01 -04:00
DiffTreeItem.hs ByteString Ref continued 2020-04-07 11:54:27 -04:00
Env.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
FileMode.hs Fix ambigous typos 2023-03-17 15:14:47 -04:00
Filename.hs git style filename quoting for giveup 2023-04-10 12:56:45 -04:00
FilePath.hs git style quoting for ActionItemOther 2023-04-08 16:30:01 -04:00
FilterProcess.hs filter-process: Fix protocol for empty files 2022-07-13 17:13:54 -04:00
Fsck.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
GCrypt.hs sync: Fix parsing of gcrypt::rsync:// urls that use a relative path 2023-03-23 15:20:00 -04:00
HashObject.hs make hashFile support paths with newlines 2023-03-13 13:43:40 -04:00
History.hs convert to withCreateProcess for async exception safety 2020-06-03 15:48:09 -04:00
Hook.hs fix build warnings on windows 2023-03-21 18:41:23 -04:00
Index.hs more RawFilePath conversion 2020-11-05 18:45:37 -04:00
LockFile.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
LsFiles.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
LsTree.hs git style quoting for ActionItemOther 2023-04-08 16:30:01 -04:00
Merge.hs sync --quiet 2021-07-19 11:28:47 -04:00
Objects.hs more RawFilePath conversion 2020-11-05 18:45:37 -04:00
PktLine.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
Queue.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
Ref.hs remove errant print debug 2021-10-03 18:18:04 -04:00
RefLog.hs ByteString Ref continued 2020-04-07 11:54:27 -04:00
Remote.hs sync: Fix parsing of gcrypt::rsync:// urls that use a relative path 2023-03-23 15:20:00 -04:00
Repair.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
Sha.hs started converting Ref from String to ByteString 2020-04-06 17:14:49 -04:00
Ssh.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Status.hs convert TopFilePath to use RawFilePath 2019-12-09 15:07:21 -04:00
Tree.hs ImportableContentsChunkable 2021-10-08 13:15:22 -04:00
Types.hs skip checkRepoConfigInaccessible when git directory specified explicitly 2022-09-20 14:52:43 -04:00
UnionMerge.hs Fix ambigous typos 2023-03-17 15:14:47 -04:00
UpdateIndex.hs rawfilepath conversion 2023-02-27 15:06:32 -04:00
Url.hs avoid partial functions in Git.Url 2021-01-18 15:07:23 -04:00
Version.hs more RawFilePath conversion 2020-10-29 12:03:50 -04:00