summaryrefslogtreecommitdiffhomepage
path: root/Types.hs
diff options
context:
space:
mode:
authorJoey Hess <joeyh@joeyh.name>2017-05-04 14:02:37 -0400
committerJoey Hess <joeyh@joeyh.name>2017-05-04 14:02:37 -0400
commit0aebedadd392e495ffc8f7c2fa74d712f16c2d7d (patch)
tree8f6af2ccc4e9bc4526ea8b8bf09bdfda327d9fdb /Types.hs
parent2cd4c53ece2d935b044c65802824810eb712b1c2 (diff)
downloaddebug-me-0aebedadd392e495ffc8f7c2fa74d712f16c2d7d.tar.gz
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.
Diffstat (limited to 'Types.hs')
-rw-r--r--Types.hs14
1 files changed, 12 insertions, 2 deletions
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