diff options
author | Joey Hess <joeyh@joeyh.name> | 2016-04-27 12:54:43 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2016-04-27 12:54:43 -0400 |
commit | d34a125d5a20bec416ff28d32648b9119677f3c7 (patch) | |
tree | 2dffa4196fc4e179ad1d0d86d4976eedafd70fb9 /Remote/Helper/Special.hs | |
parent | 0328c7d3c46344be3570f5813aa8a2c5e57f89c3 (diff) |
Fix bug that prevented resuming of uploads to encrypted special remotes that used chunking. This bug could also expose the names of keys to such remotes.
This is a low-severity security hole.
Diffstat (limited to 'Remote/Helper/Special.hs')
-rw-r--r-- | Remote/Helper/Special.hs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Remote/Helper/Special.hs b/Remote/Helper/Special.hs index fdadc97b9..f9b5deae4 100644 --- a/Remote/Helper/Special.hs +++ b/Remote/Helper/Special.hs @@ -189,11 +189,12 @@ specialRemote' cfg c preparestorer prepareretriever prepareremover preparecheckp go Nothing = return False go' storer (Just checker) = sendAnnex k rollback $ \src -> displayprogress p k $ \p' -> - storeChunks (uuid baser) chunkconfig k src p' + storeChunks (uuid baser) chunkconfig enck k src p' (storechunk enc storer) checker go' _ Nothing = return False rollback = void $ removeKey encr k + enck = maybe id snd enc storechunk Nothing storer k content p = storer k content p storechunk (Just (cipher, enck)) storer k content p = do |