summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* releasing package git-annex version 6.20170301.16.20170301.1Gravatar Joey Hess2017-03-01
|
* improve layoutGravatar Joey Hess2017-03-01
|
* Fix reversion in yesterday's release that made SHA1E and MD5E backends not work.Gravatar Joey Hess2017-03-01
|
* convert error to giveupGravatar Joey Hess2017-03-01
|
* add news item for git-annex 6.20170301Gravatar Joey Hess2017-03-01
|
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2017-03-01
|\
* | 6.20170301 version for hackage6.20170301Gravatar Joey Hess2017-03-01
| | | | | | | | No changes from 6.20170228; a new version number was needed due to a problem with Hackage.
| * initial whiningGravatar yarikoptic2017-03-01
| |
| * Added a comment: Security of P2P repo is unclearGravatar dvicory2017-02-28
|/
* add news item for git-annex 6.20170228Gravatar Joey Hess2017-02-28
|
* releasing package git-annex version 6.201702286.20170228Gravatar Joey Hess2017-02-28
|
* improve display of checking known urlsGravatar Joey Hess2017-02-28
| | | | Display it as a separate action, so it ends with a newline
* remove old debug printGravatar Joey Hess2017-02-28
|
* remove unused importGravatar Joey Hess2017-02-28
|
* release prepGravatar Joey Hess2017-02-28
|
* fix bug introduced in 48119806dd24214e88f3f3c62f4dcb14b60dc207Gravatar Joey Hess2017-02-28
| | | | Just totally wrong logic, oops. Caught by test suite.
* squelch a couple of warnings about moveAnnex return codeGravatar Joey Hess2017-02-28
|
* fix osxapp depsGravatar Joey Hess2017-02-28
|
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2017-02-28
|\
* | fix build with old ghcGravatar Joey Hess2017-02-28
| |
| * Added a comment: RE: choosing remotes and annex-cost-commandGravatar zpeters2017-02-28
|/
* better headingsGravatar Joey Hess2017-02-27
|
* larger headingsGravatar Joey Hess2017-02-27
|
* devblogGravatar Joey Hess2017-02-27
|
* inheritable annex.securehashesonlyGravatar Joey Hess2017-02-27
| | | | | | | | | | | | | | | * init: When annex.securehashesonly has been set with git-annex config, copy that value to the annex.securehashesonly git config. * config --set: As well as setting value in git-annex branch, set local gitconfig. This is needed especially for annex.securehashesonly, which is read only from local gitconfig and not the git-annex branch. doc/todo/sha1_collision_embedding_in_git-annex_keys.mdwn has the rationalle for doing it this way. There's no perfect solution; this seems to be the least-bad one. This commit was supported by the NSF-funded DataLad project.
* updateGravatar Joey Hess2017-02-27
|
* early cancelation of transfer that annex.securehashesonly prohibitsGravatar Joey Hess2017-02-27
| | | | | | | | | | | | | | | | | | This avoids sending all the data to a remote, only to have it reject it because it has annex.securehashesonly set. It assumes that local and remote will have the same annex.securehashesonly setting in most cases. If a remote does not have that set, and local does, the remote won't get some content it would otherwise accept. Also avoids downloading data that will not be added to the local object store due to annex.securehashesonly. Note that, while encrypted special remotes use a GPGHMAC key variety, which is not collisiton resistent, Transfers are not used for such keys, so this check is avoided. Which is what we want, so encrypted special remotes still work. This commit was sponsored by Ewen McNeill.
* reorgGravatar Joey Hess2017-02-27
|
* securehash matchingGravatar Joey Hess2017-02-27
| | | | | | | Added --securehash option to match files using a secure hash function, and corresponding securehash preferred content expression. This commit was sponsored by Ethan Aubin.
* mapM_ = sequence_ . mapGravatar Joey Hess2017-02-27
|
* make fsck check annex.securehashesonly, and new tip for working around SHA1 ↵Gravatar Joey Hess2017-02-27
| | | | | | collisions with git-annex This commit was sponsored by andrea rota.
* annex.securehashesonlyGravatar Joey Hess2017-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cryptographically secure hashes can be forced to be used in a repository, by setting annex.securehashesonly. This does not prevent the git repository from containing files with insecure hashes, but it does prevent the content of such files from being pulled into .git/annex/objects from another repository. We want to make sure that at no point does git-annex accept content into .git/annex/objects that is hashed with an insecure key. Here's how it was done: * .git/annex/objects/xx/yy/KEY/ is kept frozen, so nothing can be written to it normally * So every place that writes content must call, thawContent or modifyContent. We can audit for these, and be sure we've considered all cases. * The main functions are moveAnnex, and linkToAnnex; these were made to check annex.securehashesonly, and are the main security boundary for annex.securehashesonly. * Most other calls to modifyContent deal with other files in the KEY directory (inode cache etc). The other ones that mess with the content are: - Annex.Direct.toDirectGen, in which content already in the annex directory is moved to the direct mode file, so not relevant. - fix and lock, which don't add new content - Command.ReKey.linkKey, which manually unlocks it to make a copy. * All other calls to thawContent appear safe. Made moveAnnex return a Bool, so checked all callsites and made them deal with a failure in appropriate ways. linkToAnnex simply returns LinkAnnexFailed; all callsites already deal with it failing in appropriate ways. This commit was sponsored by Riku Voipio.
* add cryptographicallySecureGravatar Joey Hess2017-02-27
| | | | | | | | | | | Note that GPGHMAC keys are not cryptographically secure, because their content has no relation to the name of the key. So, things that use this function to avoid sending keys to a remote will need to special case in support for those keys. If GPGHMAC keys were accepted as cryptographically secure, symlinks using them could be committed to a git repo, and their content would be accepted into the repo, with no guarantee that two repos got the same content, which is what we're aiming to prevent.
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2017-02-26
|\
* | fix osxapp targetGravatar Joey Hess2017-02-26
| | | | | | | | Broken by recent changes to other targets
| * Added a commentGravatar michalrus2017-02-26
| |
| * Added a commentGravatar openmedi2017-02-25
| |
* | move thoughtsGravatar Joey Hess2017-02-25
| |
| * (no commit message)Gravatar michalrus2017-02-25
| |
* | more thoughtsGravatar Joey Hess2017-02-25
| |
| * Added a commentGravatar michalrus2017-02-25
|/
* further thoughtsGravatar Joey Hess2017-02-25
|
* remove cryptohash from debian build-dep optionGravatar Joey Hess2017-02-24
|
* Removed support for building with the old cryptohash library.Gravatar Joey Hess2017-02-24
| | | | | Building with that library made git-annex not support SHA3; it's time for that to always be supported in case SHA2 dominoes.
* devblogGravatar Joey Hess2017-02-24
|
* SHA1 collisions in key names was more exploitable than I thoughtGravatar Joey Hess2017-02-24
| | | | | | | | | | | | Yesterday's SHA1 collision attack could be used to generate eg: SHA256-sfoo--whatever.good SHA256-sfoo--whatever.bad Such that they collide. A repository with the good one could have the bad one swapped in and signed commits would still verify. I've already mitigated this.
* fix up Read instance incompatability caused by recent commitGravatar Joey Hess2017-02-24
| | | | | | | | | | | | | | | | | | | 2f868db90c7ba16eee901b9b1472b1e1a889dd93 changed the Read instance for Key. I've checked all uses of that instance (by removing it and seeing what breaks), and they're all limited to the webapp, except one. That is GitAnnexDistribution's Read instance. So, 2f868db90c7ba16eee901b9b1472b1e1a889dd93 would have broken upgrades of git-annex from downloads.kitenet.net. Once the .info files there got updated for a new release, old releases would have failed to parse them and never upgraded. To fix this, I found a way to make the .info files that contain GitAnnexDistribution values be readable by the old version of git-annex. This commit was sponsored by Ewen McNeill.
* updateGravatar Joey Hess2017-02-24
|
* Revert "pointer to a todo"Gravatar Joey Hess2017-02-24
| | | | | | This reverts commit d884cdfbed61fa451c54562711ab5a12f41a7f7a. todo is not ready yet
* add KeyVariety typeGravatar Joey Hess2017-02-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Where before the "name" of a key and a backend was a string, this makes it a concrete data type. This is groundwork for allowing some varieties of keys to be disabled in file2key, so git-annex won't use them at all. Benchmarks ran in my big repo: old git-annex info: real 0m3.338s user 0m3.124s sys 0m0.244s new git-annex info: real 0m3.216s user 0m3.024s sys 0m0.220s new git-annex find: real 0m7.138s user 0m6.924s sys 0m0.252s old git-annex find: real 0m7.433s user 0m7.240s sys 0m0.232s Surprising result; I'd have expected it to be slower since it now parses all the key varieties. But, the parser is very simple and perhaps sharing KeyVarieties uses less memory or something like that. This commit was supported by the NSF-funded DataLad project.