packages feed

uuid-crypto 1.3.1.0 → 1.4.0.0

raw patch · 4 files changed

+54/−17 lines, 4 filesdep +cryptoids-classdep ~basedep ~binarydep ~bytestringPVP ok

version bump matches the API change (PVP)

Dependencies added: cryptoids-class

Dependency ranges changed: base, binary, bytestring, cryptoids, cryptoids-types, exceptions

API changes (from Hackage documentation)

- Data.UUID.Cryptographic: AlgorithmError :: CryptoError -> CryptoIDError
- Data.UUID.Cryptographic: CiphertextConversionFailed :: ByteString -> CryptoIDError
- Data.UUID.Cryptographic: CryptoID :: a -> CryptoID a
- Data.UUID.Cryptographic: DeserializationError :: CryptoIDError
- Data.UUID.Cryptographic: InvalidNamespaceDetected :: CryptoIDError
- Data.UUID.Cryptographic: NamespaceHashIsWrongLength :: ByteString -> CryptoIDError
- Data.UUID.Cryptographic: PlaintextIsWrongLength :: Int -> CryptoIDError
- Data.UUID.Cryptographic: [ciphertext] :: CryptoID a -> a
- Data.UUID.Cryptographic: data CryptoIDError :: *
- Data.UUID.Cryptographic: newtype CryptoID (namespace :: Symbol) a :: Symbol -> * -> *
+ Data.UUID.Cryptographic: instance (Data.CryptoID.Class.MonadCrypto m, Data.CryptoID.Class.MonadCryptoKey m ~ Data.CryptoID.ByteString.CryptoIDKey, GHC.TypeLits.KnownSymbol namespace, Data.Binary.Class.Binary a) => Data.CryptoID.Class.HasCryptoID namespace Data.UUID.Types.Internal.UUID a m
+ Data.UUID.Cryptographic: type HasCryptoUUID (namespace :: Symbol) = HasCryptoID namespace UUID
+ Data.UUID.Cryptographic.ImplicitNamespace: type CryptoUUID plaintext = CryptoID UUID plaintext
+ Data.UUID.Cryptographic.ImplicitNamespace: type HasCryptoUUID plaintext = HasCryptoID UUID plaintext

Files

changes.md view
@@ -1,3 +1,6 @@+# 1.4.0.0+    - Add support for 'cryptoids-class'+ # 1.3.1.0     - Fix documentation mistake     - Bump @cryptoids@ to @0.4.0.*@
src/Data/UUID/Cryptographic.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE ScopedTypeVariables #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}  {-| Description: Reversably generate UUIDs from arbitrary serializable types in a secure fashion@@ -17,16 +18,17 @@ where \(l\) is the length of the serialized payload. -} module Data.UUID.Cryptographic-  ( CryptoID(..)-  , CryptoUUID+  ( CryptoUUID+  , HasCryptoUUID   , encrypt   , decrypt-  , CryptoIDError(..)+  , module Data.CryptoID.Poly   ) where -import Data.CryptoID import Data.CryptoID.Poly hiding (encrypt, decrypt) import qualified Data.CryptoID.Poly as Poly (encrypt, decrypt)+import Data.CryptoID.Class (HasCryptoID)+import qualified Data.CryptoID.Class as Class (HasCryptoID(..))  import Data.UUID (UUID, toByteString, fromByteString) import Data.Binary@@ -39,6 +41,7 @@   type CryptoUUID (namespace :: Symbol) = CryptoID namespace UUID+type HasCryptoUUID (namespace :: Symbol) = HasCryptoID namespace UUID   -- | Encrypt an arbitrary serializable value@@ -64,3 +67,11 @@            , MonadThrow m            ) => CryptoIDKey -> CryptoUUID namespace -> m a decrypt = Poly.decrypt $ return . Lazy.ByteString.toStrict . toByteString++instance ( MonadCrypto m+         , MonadCryptoKey m ~ CryptoIDKey+         , KnownSymbol namespace+         , Binary a+         ) => HasCryptoID namespace UUID a m where+  encrypt = cryptoIDKey . flip encrypt+  decrypt = cryptoIDKey . flip decrypt
+ src/Data/UUID/Cryptographic/ImplicitNamespace.hs view
@@ -0,0 +1,19 @@+{-|+Description: Reversably generate UUIDs from arbitrary serializable types with implicit type level namespaces+License: BSD3+-}+module Data.UUID.Cryptographic.ImplicitNamespace+  ( CryptoUUID+  , HasCryptoUUID+  , module Data.UUID.Cryptographic+  , module Data.CryptoID.Class.ImplicitNamespace+  ) where++import Data.CryptoID.Class.ImplicitNamespace++import Data.UUID.Cryptographic hiding (encrypt, decrypt, CryptoID, HasCryptoID, CryptoUUID, HasCryptoUUID)++import Data.UUID (UUID)++type CryptoUUID plaintext = CryptoID UUID plaintext+type HasCryptoUUID plaintext = HasCryptoID UUID plaintext
uuid-crypto.cabal view
@@ -1,37 +1,41 @@ name: uuid-crypto-version: 1.3.1.0+version: 1.4.0.0 cabal-version: >=1.10 build-type: Simple license: BSD3 license-file: LICENSE-maintainer: aethoago@141.li+maintainer: Gregor Kleen <aethoago@141.li> synopsis: Reversable and secure encoding of object ids as uuids category: cryptography-author: Gregor Kleen+author: Gregor Kleen <aethoago@141.li> extra-source-files:     changes.md  source-repository head     type: git-    location: https://git.rheperire.org/cryptoids-    subdir: uuid-crypto+    location: https://git.rheperire.org/cryptoids/uuid-crypto  library     exposed-modules:         Data.UUID.Cryptographic+        Data.UUID.Cryptographic.ImplicitNamespace     build-depends:-        base >=4.9 && <4.11,-        cryptoids-types ==0.0.0,-        cryptoids ==0.4.0.*,-        uuid >=1.3.13 && <1.4,-        binary >=0.8.3.0 && <0.9,-        bytestring >=0.10.8.1 && <0.11,-        exceptions >=0.8.3 && <0.9+        base >=4.10.1.0 && <4.11,+        binary >=0.8.5.1 && <0.9,+        bytestring >=0.10.8.2 && <0.11,+        cryptoids >=0.5.0.0 && <0.6,+        cryptoids-class >=0.0.0 && <0.1,+        cryptoids-types >=0.0.0 && <0.1,+        exceptions >=0.8.3 && <0.9,+        uuid >=1.3.13 && <1.4     default-language: Haskell2010     default-extensions: KindSignatures ViewPatterns FlexibleContexts                         GeneralizedNewtypeDeriving PatternGuards RecordWildCards DataKinds-                        DeriveDataTypeable DeriveGeneric+                        DeriveDataTypeable DeriveGeneric FlexibleInstances+                        MultiParamTypeClasses TypeFamilies ConstraintKinds     other-extensions: ScopedTypeVariables     hs-source-dirs: src+    other-modules:+        Paths_uuid_crypto     ghc-options: -Wall -fno-warn-name-shadowing