summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* finalize release0.20110419Gravatar Joey Hess2011-04-19
|
* heard from hS3 authorGravatar Joey Hess2011-04-19
|
* Merge remote-tracking branch 'branchable/master'Gravatar Joey Hess2011-04-19
|\
* | update on memory leakGravatar Joey Hess2011-04-19
| | | | | | | | | | Finished applying to S3 the change that fixed the memory leak in bup, but it didn't seem to help S3.. with encryption it still grows to 2x file size.
| * Added a commentGravatar http://joey.kitenet.net/2011-04-19
|/
* updateGravatar Joey Hess2011-04-19
|
* bup: Avoid memory leak when transferring encrypted data.Gravatar Joey Hess2011-04-19
| | | | | | | | | | | | | | | | | | | | | | | | This was a most surprising leak. It occurred in the process that is forked off to feed data to gpg. That process was passed a lazy ByteString of input, and ghc seemed to not GC the ByteString as it was lazily read and consumed, so memory slowly leaked as the file was read and passed through gpg to bup. To fix it, I simply changed the feeder to take an IO action that returns the lazy bytestring, and fed the result directly to hPut. AFAICS, this should change nothing WRT buffering. But somehow it makes ghc's GC do the right thing. Probably I triggered some weakness in ghc's GC (version 6.12.1). (Note that S3 still has this leak, and others too. Fixing it will involve another dance with the type system.) Update: One theory I have is that this has something to do with the forking of the feeder process. Perhaps, when the ByteString is produced before the fork, ghc decides it need to hold a pointer to the start of it, for some reason -- maybe it doesn't realize that it is only used in the forked process.
* refactorGravatar Joey Hess2011-04-19
|
* Fix stalls in S3 when transferring encrypted data.Gravatar Joey Hess2011-04-19
| | | | | | | | | | | | | | | | | | | Stalls were caused by code that did approximatly: content' <- liftIO $ withEncryptedContent cipher content return store content' The return evaluated without actually reading content from S3, and so the cleanup code began waiting on gpg to exit before gpg could send all its data. Fixing it involved moving the `store` type action into the IO monad: liftIO $ withEncryptedContent cipher content store Which was a bit of a pain to do, thank you type system, but avoids the problem as now the whole content is consumed, and stored, before cleanup.
* bugGravatar Joey Hess2011-04-19
|
* enable gpg batch mode when GPG_AGENT_INFO is setGravatar Joey Hess2011-04-19
|
* Added a commentGravatar https://www.google.com/accounts/o8/id?id=AItOawl9sYlePmv1xK-VvjBdN-5doOa_Xw-jH4U2011-04-17
|
* Merge remote-tracking branch 'branchable/master'Gravatar Joey Hess2011-04-17
|\
* | initremote: show gpg keysGravatar Joey Hess2011-04-17
| |
| * (no commit message)Gravatar praet2011-04-17
| |
| * (no commit message)Gravatar praet2011-04-17
| |
| * (no commit message)Gravatar praet2011-04-17
| |
* | Add missing build dep on dataenc.Gravatar Joey Hess2011-04-17
|/
* Don't run gpg in batch mode, so it can prompt for passphrase when there is ↵Gravatar Joey Hess2011-04-17
| | | | no agent.
* cleanupGravatar Joey Hess2011-04-17
|
* Merge remote-tracking branch 'branchable/master'Gravatar Joey Hess2011-04-17
|\
* | add news item for git-annex 0.20110417Gravatar Joey Hess2011-04-17
| |
* | releasing version 0.201104170.20110417Gravatar Joey Hess2011-04-17
| |
* | reword againGravatar Joey Hess2011-04-17
| | | | | | | | On second thought, "unlocking" is confusable with git-annex unlock.
| * (no commit message)Gravatar https://www.google.com/accounts/o8/id?id=AItOawl9sYlePmv1xK-VvjBdN-5doOa_Xw-jH4U2011-04-17
|/
* linkGravatar Joey Hess2011-04-17
|
* layoutGravatar Joey Hess2011-04-17
|
* Merge remote-tracking branch 'branchable/master'Gravatar Joey Hess2011-04-17
|\
* | updateGravatar Joey Hess2011-04-17
| |
* | update to mention encryptionGravatar Joey Hess2011-04-17
| |
* | tweak wordingGravatar Joey Hess2011-04-17
| |
* | design wrapupGravatar Joey Hess2011-04-17
| |
* | looked up HMAC block size detailsGravatar Joey Hess2011-04-17
| |
* | hmacSha1 wants the secret key as first parameterGravatar Joey Hess2011-04-17
| | | | | | | | | | | | I was offline last night and going by function signatures, and unable to tell which was which. Note sure it matters to HMAC which comes first; better safe than sorry.
* | noteGravatar Joey Hess2011-04-17
| |
* | S3 crypto supportGravatar Joey Hess2011-04-17
| | | | | | | | | | | | Untested, I will need to dust off my S3 keys, and plug the modem back in that was unplugged last night due to very low battery bank power. But it compiles, so it's probably perfect. :)
* | use different parts of cipher for hmac and gpgGravatar Joey Hess2011-04-17
| | | | | | | | | | | | | | Per bugs/S3_bucket_uses_the_same_key_for_encryption_and_hashing It may be paranoid to worry about the cipher being recovered from hmac keys, but yes.. let's be paranoid.
* | make encrypted remotes have slightly higher costsGravatar Joey Hess2011-04-17
| |
* | refactorGravatar Joey Hess2011-04-17
| |
* | bup encryption support 100% workingGravatar Joey Hess2011-04-17
| |
* | renameGravatar Joey Hess2011-04-17
| |
* | fix stall while storing encrypted data in bupGravatar Joey Hess2011-04-17
| | | | | | | | | | | | Forking a new process rather than relying on a thread to feed gpg. The feeder thread was stalling, probably when the main thread got to the point it was wait()ing on the gpg to exit.
* | build dep updateGravatar Joey Hess2011-04-16
| |
* | proper encrypted keysGravatar Joey Hess2011-04-16
| | | | | | | | | | | | For HMAC, using the Data.Digest.Pure.SHA library. I have been avoiding this library for checksumming generally, since it's (probably) not as fast as external utilities, but it's fine to use it for HMAC.
* | incomplete and buggy encryption support for bupGravatar Joey Hess2011-04-16
| | | | | | | | | | Some kind of laziness issue that I don't want to debug right now, and decryption is not implemented.
* | refactorGravatar Joey Hess2011-04-16
| |
* | don't let users change encryption type once remote is inittedGravatar Joey Hess2011-04-16
| |
* | document encryptionGravatar Joey Hess2011-04-16
| |
* | gpg recommendedGravatar Joey Hess2011-04-16
| |
* | full encryption support for directory special remotesGravatar Joey Hess2011-04-16
| |