summaryrefslogtreecommitdiff
path: root/Remote/Bup.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-04-16 13:25:27 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-04-16 13:25:27 -0400
commit7fdf20f577f63f8437c63d7d83e70d34de89269f (patch)
tree48ead5b187d7167d41c52cb83c917f9aaa85ed86 /Remote/Bup.hs
parent480d780297dac12576a90c25cca5cb989e1a1e4f (diff)
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.
Diffstat (limited to 'Remote/Bup.hs')
-rw-r--r--Remote/Bup.hs12
1 files changed, 5 insertions, 7 deletions
diff --git a/Remote/Bup.hs b/Remote/Bup.hs
index 66c78970c..b4403bb03 100644
--- a/Remote/Bup.hs
+++ b/Remote/Bup.hs
@@ -26,8 +26,9 @@ import Locations
import Config
import Utility
import Messages
-import Remote.Special
import Ssh
+import Remote.Special
+import Remote.Encrypted
type BupRepo = String
@@ -66,10 +67,7 @@ bupSetup u c = do
let buprepo = case M.lookup "buprepo" c of
Nothing -> error "Specify buprepo="
Just r -> r
- case M.lookup "encryption" c of
- Nothing -> error "Specify encryption=key or encryption=none"
- Just "none" -> return ()
- Just _ -> error "encryption keys not yet supported"
+ c' <- encryptionSetup c
-- bup init will create the repository.
-- (If the repository already exists, bup init again appears safe.)
@@ -81,9 +79,9 @@ bupSetup u c = do
-- The buprepo is stored in git config, as well as this repo's
-- persistant state, so it can vary between hosts.
- gitConfigSpecialRemote u c "buprepo" buprepo
+ gitConfigSpecialRemote u c' "buprepo" buprepo
- return $ M.delete "directory" c
+ return c'
bupParams :: String -> BupRepo -> [CommandParam] -> [CommandParam]
bupParams command buprepo params =