From deb4662abbae64d9dfba5e848b8050d13e7cbd9f Mon Sep 17 00:00:00 2001 From: Brandon McDonnell Date: Sat, 20 Oct 2018 22:06:55 +0000 Subject: [PATCH] protonmail: Define struct MessageBodyKey. --- protonmail/messages.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/protonmail/messages.go b/protonmail/messages.go index 62f0bb3..89c26e2 100644 --- a/protonmail/messages.go +++ b/protonmail/messages.go @@ -403,7 +403,7 @@ type MessagePackageSet struct { Body string // Encrypted body data packet // Only if cleartext is sent - BodyKey map[string]string + BodyKey *MessageBodyKey `json:omitempty` AttachmentKeys map[string]string bodyKey *packet.EncryptedKey @@ -411,6 +411,11 @@ type MessagePackageSet struct { signature int } +type MessageBodyKey struct { + Algorithm string + Key string +} + func NewMessagePackageSet(attachmentKeys map[string]*packet.EncryptedKey) *MessagePackageSet { return &MessagePackageSet{ Addresses: make(map[string]*MessagePackage), @@ -495,9 +500,10 @@ func (set *MessagePackageSet) AddCleartext(addr string) (*MessagePackage, error) set.Type |= MessagePackageCleartext if set.BodyKey == nil || set.AttachmentKeys == nil { - set.BodyKey = make(map[string]string, 2) - set.BodyKey["Algorithm"] = "aes256" - set.BodyKey["Key"] = base64.StdEncoding.EncodeToString(set.bodyKey.Key) + set.BodyKey = &MessageBodyKey{ + Algorithm: "aes256", + Key: base64.StdEncoding.EncodeToString(set.bodyKey.Key), + } set.AttachmentKeys = make(map[string]string, len(set.attachmentKeys)) for att, key := range set.attachmentKeys {