hOpenPGP 1.4 → 1.5
raw patch · 4 files changed
+29/−4 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Codec.Encryption.OpenPGP.Serialize: putTK' :: TK -> ByteString
+ Codec.Encryption.OpenPGP.Types: instance Ord Pkt
Files
- Codec/Encryption/OpenPGP/Serialize.hs +19/−1
- Codec/Encryption/OpenPGP/Types.hs +3/−0
- Data/Conduit/OpenPGP/Keyring/Instances.hs +5/−1
- hOpenPGP.cabal +2/−2
Codec/Encryption/OpenPGP/Serialize.hs view
@@ -6,10 +6,11 @@ module Codec.Encryption.OpenPGP.Serialize ( putSKAddendum , getSecretKey+ , putTK' ) where import Control.Applicative ((<$>),(<*>))-import Control.Lens ((^.))+import Control.Lens ((^.), _1) import Control.Monad (guard, liftM, mplus, replicateM, replicateM_) import qualified Crypto.PubKey.RSA as R import qualified Crypto.PubKey.DSA as D@@ -158,6 +159,10 @@ get = getSignaturePayload put = putSignaturePayload +-- instance Serialize TK where+-- get = undefined+-- put = putTK+ getSigSubPacket :: Get SigSubPacket getSigSubPacket = do l <- fmap fromIntegral getSubPacketLength@@ -1214,6 +1219,19 @@ putSignaturePayload (SigVOther pv bs) = do putWord8 pv putByteString bs++putTK' key = runPut $ putTK key++putTK key = do+ put (PublicKey (key^.tkKey._1))+ mapM_ (put . Signature) (_tkRevs key)+ mapM_ putUid' (_tkUIDs key)+ mapM_ putUat' (_tkUAts key)+ mapM_ putSub' (_tkSubs key)+ where+ putUid' (u, sps) = put (UserId u) >> mapM_ (put . Signature) sps+ putUat' (us, sps) = put (UserAttribute us) >> mapM_ (put . Signature) sps+ putSub' (p, sps) = put p >> mapM_ (put . Signature) sps -- Stolen from Axman6 many :: Get a -> Get [a]
Codec/Encryption/OpenPGP/Types.hs view
@@ -676,6 +676,9 @@ instance Hashable Pkt +instance Ord Pkt where+ compare = comparing pktTag <> comparing hash -- FIXME: is there something saner?+ pktTag :: Pkt -> Word8 pktTag (PKESKPkt {}) = 1 pktTag (SignaturePkt _) = 2
Data/Conduit/OpenPGP/Keyring/Instances.hs view
@@ -46,7 +46,11 @@ compare (SigVOther {}) (SigV4 {}) = GT instance Semigroup TK where- (<>) a b = TK (_tkKey a) (nub . sort $ _tkRevs a ++ _tkRevs b) ((kvmerge `on` _tkUIDs) a b) ((kvmerge `on` _tkUAts) a b) ((ukvmerge `on` _tkSubs) a b)+ (<>) a b = TK (_tkKey a)+ (nub . sort $ _tkRevs a ++ _tkRevs b)+ ((kvmerge `on` _tkUIDs) a b)+ ((kvmerge `on` _tkUAts) a b)+ ((ukvmerge `on` _tkSubs) a b) where kvmerge x y = Map.toList (Map.unionWith nsa (Map.fromList x) (Map.fromList y)) ukvmerge x y = HashMap.toList (HashMap.unionWith nsa (HashMap.fromList x) (HashMap.fromList y))
hOpenPGP.cabal view
@@ -1,5 +1,5 @@ Name: hOpenPGP-Version: 1.4+Version: 1.5 Synopsis: native Haskell implementation of OpenPGP (RFC4880) Description: native Haskell implementation of OpenPGP (RFC4880) Homepage: http://floss.scru.org/hOpenPGP/@@ -255,4 +255,4 @@ source-repository this type: git location: git://git.debian.org/users/clint/hOpenPGP.git- tag: v1.4+ tag: v1.5