packages feed

hOpenPGP 2.7.4 → 2.7.4.1

raw patch · 2 files changed

+34/−18 lines, 2 files

Files

Codec/Encryption/OpenPGP/KeyringParser.hs view
@@ -105,8 +105,10 @@ brokenTK _ = fail "Unexpected broken packet type"  pkPayload :: Parser [Pkt] (PKPayload, Maybe SKAddendum)-pkPayload = do [PublicKeyPkt p] <- satisfy isPKP-               return (p, Nothing)+pkPayload = do pkpkts <- satisfy isPKP+               case pkpkts of+                   [PublicKeyPkt p] -> return (p, Nothing)+                   _ -> failure     where         isPKP [PublicKeyPkt _] = True         isPKP _ = False@@ -129,25 +131,34 @@         isSP' _ = False  signedUID :: Bool -> Parser [Pkt] (UidOrUat, [SignaturePayload])-signedUID intolerant = do [UserIdPkt u] <- satisfy isUID-                          sigs <- concatMany (signature intolerant [GenericCert, PersonaCert, CasualCert, PositiveCert, CertRevocationSig])-                          return (I u, sigs)+signedUID intolerant = do upkts <- satisfy isUID+                          case upkts of+                              [UserIdPkt u] -> do+                                  sigs <- concatMany (signature intolerant [GenericCert, PersonaCert, CasualCert, PositiveCert, CertRevocationSig])+                                  return (I u, sigs)+                              _ -> failure     where         isUID [UserIdPkt _] = True         isUID _ = False  signedUAt :: Bool -> Parser [Pkt] (UidOrUat, [SignaturePayload])-signedUAt intolerant = do [UserAttributePkt us] <- satisfy isUAt-                          sigs <- concatMany (signature intolerant [GenericCert, PersonaCert, CasualCert, PositiveCert, CertRevocationSig])-                          return (A us, sigs)+signedUAt intolerant = do uapkts <- satisfy isUAt+                          case uapkts of+                              [UserAttributePkt us] -> do+                                  sigs <- concatMany (signature intolerant [GenericCert, PersonaCert, CasualCert, PositiveCert, CertRevocationSig])+                                  return (A us, sigs)+                              _ -> failure     where         isUAt [UserAttributePkt _] = True         isUAt _ = False  signedOrRevokedPubSubkey :: Bool -> Parser [Pkt] [(Pkt, [SignaturePayload])]-signedOrRevokedPubSubkey intolerant = do [p] <- satisfy isPSKP-                                         sigs <- concatMany (signature intolerant [SubkeyBindingSig, SubkeyRevocationSig])-                                         return [(p, sigs)]+signedOrRevokedPubSubkey intolerant = do pskpkts <- satisfy isPSKP+                                         case pskpkts of+                                             [p] -> do+                                                 sigs <- concatMany (signature intolerant [SubkeyBindingSig, SubkeyRevocationSig])+                                                 return [(p, sigs)]+                                             _ -> failure     where         isPSKP [PublicSubkeyPkt _] = True         isPSKP _ = False@@ -158,9 +169,12 @@                      return []  rawOrSignedOrRevokedSecSubkey :: Bool -> Parser [Pkt] [(Pkt, [SignaturePayload])]-rawOrSignedOrRevokedSecSubkey intolerant = do [p] <- satisfy isSSKP-                                              sigs <- concatMany (signature intolerant [SubkeyBindingSig, SubkeyRevocationSig])-                                              return [(p, sigs)]+rawOrSignedOrRevokedSecSubkey intolerant = do sskpkts <- satisfy isSSKP+                                              case sskpkts of+                                                  [p] -> do+                                                      sigs <- concatMany (signature intolerant [SubkeyBindingSig, SubkeyRevocationSig])+                                                      return [(p, sigs)]+                                                  _ -> failure     where         isSSKP [SecretSubkeyPkt _ _] = True         isSSKP _ = False@@ -171,8 +185,10 @@                      return []  skPayload :: Parser [Pkt] (PKPayload, Maybe SKAddendum)-skPayload = do [SecretKeyPkt p ska] <- satisfy isSKP-               return (p, Just ska)+skPayload = do spkts <- satisfy isSKP+               case spkts of+                   [SecretKeyPkt p ska] -> return (p, Just ska)+                   _ -> failure     where         isSKP [SecretKeyPkt _ _] = True         isSKP _ = False
hOpenPGP.cabal view
@@ -1,5 +1,5 @@ Name:                hOpenPGP-Version:             2.7.4+Version:             2.7.4.1 Synopsis:            native Haskell implementation of OpenPGP (RFC4880) Description:         native Haskell implementation of OpenPGP (RFC4880), plus Camellia (RFC5581), plus ECC (RFC6637) Homepage:            https://salsa.debian.org/clint/hOpenPGP@@ -342,4 +342,4 @@ source-repository this   type:     git   location: https://salsa.debian.org/clint/hOpenPGP.git-  tag:      v2.7.4+  tag:      v2.7.4.1