Merge branch 'master' into concurrentprogress

Conflicts:
	Command/Fsck.hs
	Messages.hs
	Remote/Directory.hs
	Remote/Git.hs
	Remote/Helper/Special.hs
	Types/Remote.hs
	debian/changelog
	git-annex.cabal
This commit is contained in:
Joey Hess 2015-05-12 13:23:22 -04:00
commit e27b97d364
378 changed files with 4978 additions and 1158 deletions

View file

@ -1,6 +1,6 @@
{- git-annex crypto types
-
- Copyright 2011-2012 Joey Hess <id@joeyh.name>
- Copyright 2011-2015 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU GPL version 3 or higher.
-}
@ -17,9 +17,7 @@ module Types.Crypto (
calcMac,
) where
import qualified Data.ByteString.Lazy as L
import Data.Digest.Pure.SHA
import Utility.Hash
import Utility.Gpg (KeyIds(..))
-- XXX ideally, this would be a locked memory region
@ -31,13 +29,6 @@ data StorableCipher = EncryptedCipher String EncryptedCipherVariant KeyIds
data EncryptedCipherVariant = Hybrid | PubKey
deriving (Ord, Eq)
{- File names are (client-side) MAC'ed on special remotes.
- The chosen MAC algorithm needs to be same for all files stored on the
- remote.
-}
data Mac = HmacSha1 | HmacSha224 | HmacSha256 | HmacSha384 | HmacSha512
deriving (Eq)
defaultMac :: Mac
defaultMac = HmacSha1
@ -57,17 +48,3 @@ readMac "HMACSHA256" = Just HmacSha256
readMac "HMACSHA384" = Just HmacSha384
readMac "HMACSHA512" = Just HmacSha512
readMac _ = Nothing
calcMac
:: Mac -- ^ MAC
-> L.ByteString -- ^ secret key
-> L.ByteString -- ^ message
-> String -- ^ MAC'ed message, in hexadecimal
calcMac mac = case mac of
HmacSha1 -> showDigest $* hmacSha1
HmacSha224 -> showDigest $* hmacSha224
HmacSha256 -> showDigest $* hmacSha256
HmacSha384 -> showDigest $* hmacSha384
HmacSha512 -> showDigest $* hmacSha512
where
($*) g f x y = g $ f x y

View file

@ -8,6 +8,7 @@
module Types.DesktopNotify where
import Data.Monoid
import Prelude
data DesktopNotify = DesktopNotify
{ notifyStart :: Bool

View file

@ -20,9 +20,10 @@ import Utility.PartialPrelude
import qualified Git
import qualified Git.Config
import qualified Data.Set as S
import Data.Maybe
import Data.Monoid
import qualified Data.Set as S
import Prelude
-- Describes differences from the v5 repository format.
--

View file

@ -66,7 +66,8 @@ data RemoteA a = Remote {
-- (The MeterUpdate does not need to be used if it retrieves
-- directly to the file, and not to an intermediate file.)
retrieveKeyFile :: Key -> AssociatedFile -> FilePath -> MeterUpdate -> a Bool,
-- retrieves a key's contents to a tmp file, if it can be done cheaply
-- Retrieves a key's contents to a tmp file, if it can be done cheaply.
-- It's ok to create a symlink or hardlink.
retrieveKeyFileCheap :: Key -> AssociatedFile -> FilePath -> a Bool,
-- removes a key's contents (succeeds if the contents are not present)
removeKey :: Key -> a Bool,