encryption key management working

Encrypted remotes don't yet encrypt data, but git annex initremote can
be used to generate a cipher and add additional gpg keys that can use it.
This commit is contained in:
Joey Hess 2011-04-16 13:25:27 -04:00
parent 480d780297
commit 7fdf20f577
4 changed files with 120 additions and 51 deletions

View file

@ -28,6 +28,7 @@ import Messages
import Locations
import Config
import Remote.Special
import Remote.Encrypted
remote :: RemoteType Annex
remote = RemoteType {
@ -81,11 +82,8 @@ s3Connection c = do
s3Setup :: UUID -> RemoteConfig -> Annex RemoteConfig
s3Setup u c = do
-- verify configuration is sane
case M.lookup "encryption" c of
Nothing -> error "Specify encryption=key or encryption=none"
Just "none" -> return ()
Just _ -> error "encryption keys not yet supported"
let fullconfig = M.union c defaults
c' <- encryptionSetup c
let fullconfig = M.union c' defaults
-- check bucket location to see if the bucket exists, and create it
let datacenter = fromJust $ M.lookup "datacenter" fullconfig