diff options
-rw-r--r-- | Assistant/XMPP.hs | 7 | ||||
-rw-r--r-- | Remote/Helper/Encryptable.hs | 9 | ||||
-rw-r--r-- | debian/changelog | 2 | ||||
-rw-r--r-- | debian/control | 2 | ||||
-rw-r--r-- | doc/todo/replace_dataenc_with_sandi.mdwn | 2 | ||||
-rw-r--r-- | standalone/android/cabal.config | 2 |
6 files changed, 15 insertions, 9 deletions
diff --git a/Assistant/XMPP.hs b/Assistant/XMPP.hs index b9ae50e27..52cd31939 100644 --- a/Assistant/XMPP.hs +++ b/Assistant/XMPP.hs @@ -22,7 +22,8 @@ import qualified Data.Map as M import Data.ByteString (ByteString) import qualified Data.ByteString as B import Data.XML.Types -import qualified "dataenc" Codec.Binary.Base64 as B64 +import qualified "sandi" Codec.Binary.Base64 as B64 +import Data.Bits.Utils {- Name of the git-annex tag, in our own XML namespace. - (Not using a namespace URL to avoid unnecessary bloat.) -} @@ -212,10 +213,10 @@ encodeExitCode (ExitFailure n) = n {- Base 64 encoding a ByteString to use as the content of a tag. -} encodeTagContent :: ByteString -> [Node] -encodeTagContent b = [NodeContent $ ContentText $ T.pack $ B64.encode $ B.unpack b] +encodeTagContent b = [NodeContent $ ContentText $ T.pack $ w82s $ B.unpack $ B64.encode b] decodeTagContent :: Element -> Maybe ByteString -decodeTagContent elt = B.pack <$> B64.decode s +decodeTagContent elt = either (const Nothing) Just (B64.decode $ B.pack $ s2w8 s) where s = T.unpack $ T.concat $ elementText elt diff --git a/Remote/Helper/Encryptable.hs b/Remote/Helper/Encryptable.hs index 2c1935ba9..3395db978 100644 --- a/Remote/Helper/Encryptable.hs +++ b/Remote/Helper/Encryptable.hs @@ -20,7 +20,8 @@ module Remote.Helper.Encryptable ( ) where import qualified Data.Map as M -import qualified "dataenc" Codec.Binary.Base64 as B64 +import qualified "sandi" Codec.Binary.Base64 as B64 +import qualified Data.ByteString as B import Data.Bits.Utils import Common.Annex @@ -172,12 +173,12 @@ describeEncryption c = case extractCipher c of ] {- Not using Utility.Base64 because these "Strings" are really - - bags of bytes and that would convert to unicode and not roung-trip + - bags of bytes and that would convert to unicode and not round-trip - cleanly. -} toB64bs :: String -> String -toB64bs = B64.encode . s2w8 +toB64bs = w82s . B.unpack . B64.encode . B.pack . s2w8 fromB64bs :: String -> String -fromB64bs s = fromMaybe bad $ w82s <$> B64.decode s +fromB64bs s = either (const bad) (w82s . B.unpack) (B64.decode $ B.pack $ s2w8 s) where bad = error "bad base64 encoded data" diff --git a/debian/changelog b/debian/changelog index e5e7ed13e..932b022fc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -40,6 +40,8 @@ git-annex (5.20150421) UNRELEASED; urgency=medium honoring the setting of HOME. Instead, copy msysgit's ssh into PATH. * Windows: Roll back to an older version of rsync from cygwin. The newer version has some dependency on a newer ssh from cygwin. + * Switch from the obsolete dataenc library for base64 encoding to sandi. + (Thanks, Magnus Therning) -- Joey Hess <id@joeyh.name> Tue, 21 Apr 2015 15:54:10 -0400 diff --git a/debian/control b/debian/control index ce7ce7504..133c2ee49 100644 --- a/debian/control +++ b/debian/control @@ -11,7 +11,7 @@ Build-Depends: libghc-hslogger-dev, libghc-pcre-light-dev, libghc-cryptohash-dev (>= 0.11.0), - libghc-dataenc-dev, + libghc-sandi-dev, libghc-utf8-string-dev, libghc-aws-dev (>= 0.9.2-2~), libghc-conduit-dev, diff --git a/doc/todo/replace_dataenc_with_sandi.mdwn b/doc/todo/replace_dataenc_with_sandi.mdwn index a35e54efd..9ce29663b 100644 --- a/doc/todo/replace_dataenc_with_sandi.mdwn +++ b/doc/todo/replace_dataenc_with_sandi.mdwn @@ -2,3 +2,5 @@ sandi is available in jessie, but not wheezy, so this is pending EOL of wheezy support. --[[Joey]] + +> [[fixed|done]] --[[Joey]] diff --git a/standalone/android/cabal.config b/standalone/android/cabal.config index f39dee91f..de7d72dc0 100644 --- a/standalone/android/cabal.config +++ b/standalone/android/cabal.config @@ -54,7 +54,7 @@ constraints: Crypto ==4.2.5.1, data-default-instances-containers ==0.0.1, data-default-instances-dlist ==0.0.1, data-default-instances-old-locale ==0.0.1, - dataenc ==0.14.0.7, + sandi ==0.3.0.1, dbus ==0.10.8, distributive ==0.4.4, dlist ==0.7.0.1, |