forked from Silverfish/proton-bridge
fix: pubkey should not be collected as attachment
This commit is contained in:
@ -44,12 +44,6 @@ func Parse(r io.Reader, key, keyName string) (m *pmapi.Message, mimeBody, plainB
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if key != "" {
|
|
||||||
if err = attachPublicKey(p.Root(), key, keyName); err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
m = pmapi.NewMessage()
|
m = pmapi.NewMessage()
|
||||||
|
|
||||||
if err = parseMessageHeader(m, p.Root().Header); err != nil {
|
if err = parseMessageHeader(m, p.Root().Header); err != nil {
|
||||||
@ -68,6 +62,15 @@ func Parse(r io.Reader, key, keyName string) (m *pmapi.Message, mimeBody, plainB
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// We only attach the public key manually to the MIME body for
|
||||||
|
// signed/encrypted external recipients. It's not important for it to be
|
||||||
|
// collected as an attachment; that's already done when we upload the draft.
|
||||||
|
if key != "" {
|
||||||
|
if err = attachPublicKey(p.Root(), key, keyName); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
mimeBodyBuffer := new(bytes.Buffer)
|
mimeBodyBuffer := new(bytes.Buffer)
|
||||||
|
|
||||||
if err = p.NewWriter().Write(mimeBodyBuffer); err != nil {
|
if err = p.NewWriter().Write(mimeBodyBuffer); err != nil {
|
||||||
|
|||||||
@ -322,7 +322,9 @@ func TestParseWithAttachedPublicKey(t *testing.T) {
|
|||||||
assert.Equal(t, "body", m.Body)
|
assert.Equal(t, "body", m.Body)
|
||||||
assert.Equal(t, "body", plainBody)
|
assert.Equal(t, "body", plainBody)
|
||||||
|
|
||||||
require.Len(t, attReaders, 1)
|
// The pubkey should not be collected as an attachment.
|
||||||
|
// We upload the pubkey when creating the draft.
|
||||||
|
require.Len(t, attReaders, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestParseTextHTMLWithEmbeddedForeignEncoding(t *testing.T) {
|
func TestParseTextHTMLWithEmbeddedForeignEncoding(t *testing.T) {
|
||||||
|
|||||||
Reference in New Issue
Block a user