From 0aebedadd392e495ffc8f7c2fa74d712f16c2d7d Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 4 May 2017 14:02:37 -0400 Subject: include gpg public key export in GpgSigned This makes debug-me not rely on the gpg keyservers at all. Before, it was only working when the user had the developer's public key already. I thought that --verify would download from --keyserver, but seems not. This is a protocol breaking change! Luckily done before any release, so ok. ProtocolBuffers renumbered. This commit was sponsored by Denis Dzyubenko on Patreon. --- Types.hs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'Types.hs') diff --git a/Types.hs b/Types.hs index 8f00793..79ce289 100644 --- a/Types.hs +++ b/Types.hs @@ -159,12 +159,13 @@ instance DataSize PublicKey where -- | A value that may be gpg signed. data PerhapsSigned a - = GpgSigned a GpgSig + = GpgSigned a GpgSig GpgKeyExport | UnSigned a deriving (Show, Generic, Eq) instance DataSize a => DataSize (PerhapsSigned a) where - dataSize (GpgSigned a sig) = dataSize a + dataSize sig + dataSize (GpgSigned a sig export) = + dataSize a + dataSize sig + dataSize export dataSize (UnSigned a) = dataSize a -- | A signature made with a gpg key. @@ -174,6 +175,13 @@ newtype GpgSig = GpgSig Val instance DataSize GpgSig where dataSize (GpgSig s) = dataSize s +-- | An export of a gpg public key. +newtype GpgKeyExport = GpgKeyExport Val + deriving (Show, Generic, Eq) + +instance DataSize GpgKeyExport where + dataSize (GpgKeyExport k) = dataSize k + -- | Elapsed time in seconds. newtype ElapsedTime = ElapsedTime Double deriving (Show, Generic, Eq) @@ -224,6 +232,8 @@ instance ToJSON PublicKey instance FromJSON PublicKey instance ToJSON GpgSig instance FromJSON GpgSig +instance ToJSON GpgKeyExport +instance FromJSON GpgKeyExport instance ToJSON (Message Seen) where toJSON = genericToJSON sumOptions -- cgit v1.2.3