diff options
author | Joey Hess <joeyh@joeyh.name> | 2017-05-04 14:02:37 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2017-05-04 14:02:37 -0400 |
commit | 0aebedadd392e495ffc8f7c2fa74d712f16c2d7d (patch) | |
tree | 8f6af2ccc4e9bc4526ea8b8bf09bdfda327d9fdb /Role | |
parent | 2cd4c53ece2d935b044c65802824810eb712b1c2 (diff) | |
download | debug-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 'Role')
-rw-r--r-- | Role/Developer.hs | 8 | ||||
-rw-r--r-- | Role/User.hs | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/Role/Developer.hs b/Role/Developer.hs index 2cc6c1c..2cdf917 100644 --- a/Role/Developer.hs +++ b/Role/Developer.hs @@ -230,7 +230,9 @@ authUser spk ichan ochan devstate logger = do atomically $ writeTMChan ichan msg logger $ Developer msg waitresp $ case spk of - GpgSigned pk _ -> pk + -- Don't bother verifying the user's gpg public key; + -- normally users send UnSigned. + GpgSigned pk _ _ -> pk UnSigned pk -> pk where waitresp pk = do @@ -291,7 +293,7 @@ getServerMessage ochan devstate ts = do -- When other developers connect, learn their SessionKeys. process (Developer msg@(ControlMessage (Control (SessionKey spk) _))) = do let sigverifier = mkSigVerifier $ case spk of - GpgSigned pk _ -> pk + GpgSigned pk _ _ -> pk UnSigned pk -> pk if verifySigned sigverifier msg then do @@ -421,7 +423,7 @@ processSessionStart sk ochan logger dsv = do sigverifier <- case sessionmsg of User (ControlMessage c@(Control (SessionKey spk) _)) -> do let pk = case spk of - GpgSigned k _ -> k + GpgSigned k _ _ -> k UnSigned k -> k let sv = mkSigVerifier pk if verifySigned sv c diff --git a/Role/User.hs b/Role/User.hs index 49e9edf..6c6fb39 100644 --- a/Role/User.hs +++ b/Role/User.hs @@ -250,7 +250,7 @@ getDeveloperMessage' (MissingHashes wiremsg) ochan us now = do case msg of ControlMessage (Control (SessionKey spk) _) -> do let sigverifier = mkSigVerifier $ case spk of - GpgSigned pk _ -> pk + GpgSigned pk _ _ -> pk UnSigned pk -> pk if verifySigned sigverifier msg then return (InputMessage msg) |