add cipher field to AnnexState
This commit is contained in:
parent
5efd413270
commit
9fe7e6be70
3 changed files with 27 additions and 13 deletions
5
Annex.hs
5
Annex.hs
|
@ -22,6 +22,7 @@ import qualified GitRepo as Git
|
|||
import qualified GitQueue
|
||||
import qualified BackendClass
|
||||
import qualified RemoteClass
|
||||
import qualified CryptoTypes
|
||||
|
||||
-- git-annex's monad
|
||||
type Annex = StateT AnnexState IO
|
||||
|
@ -41,7 +42,8 @@ data AnnexState = AnnexState
|
|||
, toremote :: Maybe String
|
||||
, fromremote :: Maybe String
|
||||
, exclude :: [String]
|
||||
} deriving (Show)
|
||||
, cipher :: Maybe CryptoTypes.Cipher
|
||||
}
|
||||
|
||||
newState :: Git.Repo -> [BackendClass.Backend Annex] -> AnnexState
|
||||
newState gitrepo allbackends = AnnexState
|
||||
|
@ -58,6 +60,7 @@ newState gitrepo allbackends = AnnexState
|
|||
, toremote = Nothing
|
||||
, fromremote = Nothing
|
||||
, exclude = []
|
||||
, cipher = Nothing
|
||||
}
|
||||
|
||||
{- Create and returns an Annex state object for the specified git repo. -}
|
||||
|
|
13
Crypto.hs
13
Crypto.hs
|
@ -36,18 +36,7 @@ import Types
|
|||
import Key
|
||||
import RemoteClass
|
||||
import Utility
|
||||
|
||||
data Cipher = Cipher String -- XXX ideally, this would be a locked memory region
|
||||
|
||||
data EncryptedCipher = EncryptedCipher String KeyIds
|
||||
|
||||
data KeyIds = KeyIds [String]
|
||||
|
||||
instance Show KeyIds where
|
||||
show (KeyIds ks) = join "," ks
|
||||
|
||||
instance Read KeyIds where
|
||||
readsPrec _ s = [(KeyIds (split "," s), "")]
|
||||
import CryptoTypes
|
||||
|
||||
{- Creates a new Cipher, encrypted as specified in the remote's configuration -}
|
||||
genCipher :: RemoteConfig -> IO EncryptedCipher
|
||||
|
|
22
CryptoTypes.hs
Normal file
22
CryptoTypes.hs
Normal file
|
@ -0,0 +1,22 @@
|
|||
{- git-annex crypto types
|
||||
-
|
||||
- Copyright 2011 Joey Hess <joey@kitenet.net>
|
||||
-
|
||||
- Licensed under the GNU GPL version 3 or higher.
|
||||
-}
|
||||
|
||||
module CryptoTypes where
|
||||
|
||||
import Data.String.Utils
|
||||
|
||||
data Cipher = Cipher String -- XXX ideally, this would be a locked memory region
|
||||
|
||||
data EncryptedCipher = EncryptedCipher String KeyIds
|
||||
|
||||
data KeyIds = KeyIds [String]
|
||||
|
||||
instance Show KeyIds where
|
||||
show (KeyIds ks) = join "," ks
|
||||
|
||||
instance Read KeyIds where
|
||||
readsPrec _ s = [(KeyIds (split "," s), "")]
|
Loading…
Reference in a new issue