summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Better sanitization of problem characters when generating URL and WORM keys.Gravatar Joey Hess2013-10-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FAT has a lot of characters it does not allow in filenames, like ? and * It's probably the worst offender, but other filesystems also have limitiations. In 2011, I made keyFile escape : to handle FAT, but missed the other characters. It also turns out that when I did that, I was also living dangerously; any existing keys that contained a : had their object location change. Oops. So, adding new characters to escape to keyFile is out. Well, it would be possible to make keyFile behave differently on a per-filesystem basis, but this would be a real nightmare to get right. Consider that a rsync special remote uses keyFile to determine the filenames to use, and we don't know the underlying filesystem on the rsync server.. Instead, I have gone for a solution that is backwards compatable and simple. Its only downside is that already generated URL and WORM keys might not be able to be stored on FAT or some other filesystem that dislikes a character used in the key. (In this case, the user can just migrate the problem keys to a checksumming backend. If this became a big problem, fsck could be made to detect these and suggest a migration.) Going forward, new keys that are created will escape all characters that are likely to cause problems. And if some filesystem comes along that's even worse than FAT (seems unlikely, but here it is 2013, and people are still using FAT!), additional characters can be added to the set that are escaped without difficulty. (Also, made WORM limit the part of the filename that is embedded in the key, to deal with filesystem filename length limits. This could have already been a problem, but is more likely now, since the escaping of the filename can make it longer.) This commit was sponsored by Ian Downes
* move some code aroundGravatar Joey Hess2013-10-05
|
* honor fileNameLengthLimit for quviGravatar Joey Hess2013-10-05
|
* addurl: Better sanitization of generated filenames.Gravatar Joey Hess2013-10-05
| | | | Use sanitizeFilePath rather than rolling our own sanitizer.
* increase base upper boundGravatar Joey Hess2013-10-05
| | | | Android builds tested with very close to 4.8
* add backGravatar Joey Hess2013-10-04
|
* add news item for git-annex 4.20131002Gravatar Joey Hess2013-10-04
|
* add news item for git-annex 4.20131003Gravatar Joey Hess2013-10-04
|
* (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawnpdM9F8VbtQ_H5PaPMpGSxPe_d5L1eJ6w2013-10-04
|
* (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawnpdM9F8VbtQ_H5PaPMpGSxPe_d5L1eJ6w2013-10-04
|
* Added a commentGravatar http://cstork.org/2013-10-04
|
* Added a comment: How should this interact with the trust model and location ↵Gravatar http://cstork.org/2013-10-04
| | | | tracking?
* Added a commentGravatar https://www.google.com/accounts/o8/id?id=AItOawnyMzZZLS1xGW1raqc_9Md6Ksdkvx5rUJU2013-10-04
|
* Added a comment: News page not updatedGravatar http://cstork.org/2013-10-04
|
* Added a commentGravatar http://olivier.mehani.name/2013-10-04
|
* another lock fileGravatar Joey Hess2013-10-03
|
* wordingGravatar Joey Hess2013-10-03
|
* linkGravatar Joey Hess2013-10-03
|
* devblogGravatar Joey Hess2013-10-03
|
* watcher: Detect at startup time when there is a stale .git/lock, and remove ↵Gravatar Joey Hess2013-10-03
| | | | it so it does not interfere with the automatic commits of changed files.
* Automatically and safely detect and recover from dangling ↵Gravatar Joey Hess2013-10-03
| | | | .git/annex/index.lock files, which would prevent git from committing to the git-annex branch, eg after a crash.
* rename confusing functionGravatar Joey Hess2013-10-03
| | | | | The index.lck file is not a lock file. Kept the historical name for now as changing it would be work.
* ensure that commitBranch is only called when the journal is lockedGravatar Joey Hess2013-10-03
| | | | | This is not strictly a requirement, since it does not actually update the journal. But it's a nice invariant to enforce.
* use types to partially prove correctness of journal locking codeGravatar Joey Hess2013-10-03
| | | | | | | | | | | | | | My implementation does not guard against double locking of the journal. But it does ensure that the journal is always locked when operated on, by using a type that is only produced by lockJournal, and which is required as a parameter of all functions that operate on the journal. Note that I had to add the fooStale functions for cases where it does not make sense to lock the journal when querying it. I was more concerned about ensuring that anything that modifies the journal is locked. setJournalFile's implementation ensures that any query of the journal will get one value or the other atomically, even if the journal is being changed at the time.
* lockJournal when running performTransitionsGravatar Joey Hess2013-10-03
| | | | | | | This may not strictly be needed -- the transition code bypasses the journal. However, this ensures that the git-annex branch is only committed with the journal locked. This will allow for further improvements.
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2013-10-03
|\
* | allow building w/o cryptohashGravatar Joey Hess2013-10-03
| | | | | | | | | | Mostly for the debian stable autobuilds, which have a too old version to use the Crypto.Hash module.
* | quash warningGravatar Joey Hess2013-10-03
| |
| * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawmf-gdwX6Nk3DyHyVCh3C_e8VGcAnPbMCI2013-10-03
| |
* | hlintGravatar Joey Hess2013-10-02
|/
* fix windows buildGravatar Joey Hess2013-10-02
|
* fix windows buildGravatar Joey Hess2013-10-02
|
* Added a commentGravatar http://joeyh.name/2013-10-03
|
* Added a comment: Starting git-annex assistantGravatar https://www.google.com/accounts/o8/id?id=AItOawlkA6XinbeOdnEDxEGQUWyjqPGh0kdMXr42013-10-02
|
* (no commit message)Gravatar volfyd2013-10-02
|
* Added a comment: confusion with bundled programsGravatar https://www.google.com/accounts/o8/id?id=AItOawnyMzZZLS1xGW1raqc_9Md6Ksdkvx5rUJU2013-10-02
|
* Added a commentGravatar https://www.google.com/accounts/o8/id?id=AItOawmKKg3Vmzk7KwRGRKjHVdtyoj1JfxLX6NM2013-10-02
|
* Added a commentGravatar http://joeyh.name/2013-10-02
|
* Merge branch 'master' of ssh://git-annex.branchable.comGravatar Joey Hess2013-10-02
|\
| * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawnyMzZZLS1xGW1raqc_9Md6Ksdkvx5rUJU2013-10-02
| |
* | prep releaseGravatar Joey Hess2013-10-02
| |
* | prep relase4.20131002Gravatar Joey Hess2013-10-02
| |
* | devblogGravatar Joey Hess2013-10-02
| |
* | prep releaseGravatar Joey Hess2013-10-02
|/
* better nameGravatar Joey Hess2013-10-01
|
* ensure that hash representations don't change in futureGravatar Joey Hess2013-10-01
|
* Moved list of backends and remote types from status to version command.Gravatar Joey Hess2013-10-01
|
* Added SKEIN256 and SKEIN512 backendsGravatar Joey Hess2013-10-01
| | | | | | | | | | | | | | | | | | | SHA3 is still waiting for final standardization. Although this is looking less likely given https://www.cdt.org/blogs/joseph-lorenzo-hall/2409-nist-sha-3 In the meantime, cryptohash implements skein, and it's used by some of the haskell ecosystem (for yesod sessions, IIRC), so this implementation is likely to continue working. Also, I've talked with the cryprohash author and he's a reasonable guy. It makes sense to have an alternate high security hash, in case some horrible attack is found against SHA2 tomorrow, or in case SHA3 comes out and worst fears are realized. I'd also like to support using skein for HMAC. But no hurry there and a new version of cryptohash has much nicer HMAC code, so I will probably wait until I can use that version.
* devblogGravatar Joey Hess2013-10-01
|
* changelogGravatar Joey Hess2013-10-01
|