aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-04-26 11:24:23 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-04-26 11:24:23 -0400
commit27774bdd56e05dabf98deeb09b78433fd374465c (patch)
tree12732a5e26240df0817a4c465c3171d0236d2c82
parentebd6ea1abb80c617f2bf1b693a54ec8b653db623 (diff)
Revert "Use haskell Crypto library instead of haskell SHA library.a"
This reverts commit 892593c5efacbc084d19af4b5d7164ededaea7ff. Conflicts: Crypto.hs debian/control
-rw-r--r--Crypto.hs20
-rw-r--r--debian/changelog7
-rw-r--r--debian/control2
-rw-r--r--doc/install.mdwn2
4 files changed, 15 insertions, 16 deletions
diff --git a/Crypto.hs b/Crypto.hs
index 4d6e38bac..20b999f65 100644
--- a/Crypto.hs
+++ b/Crypto.hs
@@ -29,21 +29,20 @@ module Crypto (
import qualified Data.ByteString.Lazy.Char8 as L
import qualified Data.Map as M
import qualified Codec.Binary.Base64 as B64
+import Data.ByteString.Lazy.UTF8 (fromString)
+import Data.Digest.Pure.SHA
+import System.Cmd.Utils
import Data.String.Utils
import Data.List
import Data.Bits.Utils
-import Data.HMAC
-import Data.Array
-import Codec.Utils
-import System.Cmd.Utils
import System.IO
import System.Posix.IO
import System.Posix.Types
import System.Posix.Process
-import System.Exit
-import System.Environment
import Control.Concurrent
import Control.Exception (finally)
+import System.Exit
+import System.Environment
import Types
import Key
@@ -253,17 +252,10 @@ fromB64 s =
case B64.decode s of
Nothing -> error "bad base64 encoded data"
Just ws -> w82s ws
-
-showOctets :: [Octet] -> String
-showOctets = concat . map hexChars
- where
- hexChars c = [arr ! (c `div` 16), arr ! (c `mod` 16)]
- arr = listArray (0, 15) "0123456789abcdef"
-
hmacWithCipher :: Cipher -> String -> String
hmacWithCipher c = hmacWithCipher' (cipherHmac c)
hmacWithCipher' :: String -> String -> String
-hmacWithCipher' c s = showOctets $ hmac_sha1 (s2w8 c) (s2w8 s)
+hmacWithCipher' c s = showDigest $ hmacSha1 (fromString c) (fromString s)
{- Ensure that hmacWithCipher' returns the same thing forevermore. -}
prop_hmacWithCipher_sane :: Bool
diff --git a/debian/changelog b/debian/changelog
index 0ba7588f4..ce5e651b0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+git-annex (0.20110426) UNRELEASED; urgency=low
+
+ * Switch back to haskell SHA library, so git-annex remains buildable on
+ Debian stable.
+
+ -- Joey Hess <joeyh@debian.org> Tue, 26 Apr 2011 11:23:54 -0400
+
git-annex (0.20110425) unstable; urgency=low
* Use haskell Crypto library instead of haskell SHA library.
diff --git a/debian/control b/debian/control
index c6b3e7d0d..b75b35afb 100644
--- a/debian/control
+++ b/debian/control
@@ -6,8 +6,8 @@ Build-Depends:
ghc,
libghc-missingh-dev,
libghc-pcre-light-dev,
+ libghc-sha-dev,
libghc-dataenc-dev,
- libghc-crypto-dev,
libghc-utf8-string-dev,
libghc-hs3-dev (>= 0.5.6),
libghc-testpack-dev [any-i386 any-amd64],
diff --git a/doc/install.mdwn b/doc/install.mdwn
index a6b86891d..3d15eac60 100644
--- a/doc/install.mdwn
+++ b/doc/install.mdwn
@@ -13,7 +13,7 @@ To build and use git-annex, you will need:
* MissingH: <http://github.com/jgoerzen/missingh/wiki>
* pcre-light: <http://hackage.haskell.org/package/pcre-light>
* utf8-string: <http://hackage.haskell.org/package/utf8-string>
-* crypto: <http://hackage.haskell.org/package/Crypto>
+* SHA: <http://hackage.haskell.org/package/SHA>
* dataenc: <http://hackage.haskell.org/package/dataenc>
* TestPack <http://hackage.haskell.org/cgi-bin/hackage-scripts/package/testpack>
* QuickCheck 2 <http://hackage.haskell.org/package/QuickCheck>