fix(BRIDGE-106): Fixed import of multipart-related messages; added relevant tests

This commit is contained in:
Atanas Janeshliev
2024-09-23 10:57:26 +00:00
parent 3ca9e625f5
commit 79c63f5785
5 changed files with 119 additions and 1 deletions

View File

@ -857,6 +857,23 @@ func getFileReader(filename string) io.Reader {
return f
}
func TestParseInvalidOriginalBoundary(t *testing.T) {
f := getFileReader("incorrect_boundary_w_invalid_character_tuta.eml")
p, err := parser.New(f)
require.NoError(t, err)
require.Equal(t, true, p.Root().Header.Get("Content-Type") == `multipart/related; boundary="------------1234567890@tutanota"`)
m, err := ParseWithParser(p, false)
require.NoError(t, err)
require.Equal(t, true, strings.HasPrefix(string(m.MIMEBody), "Content-Type: multipart/related;\r\n boundary="))
require.Equal(t, false, strings.HasPrefix(string(m.MIMEBody), `Content-Type: multipart/related;\n boundary="------------1234567890@tutanota"`))
require.Equal(t, false, strings.HasPrefix(string(m.MIMEBody), `Content-Type: multipart/related;\n boundary=------------1234567890@tutanota`))
require.Equal(t, false, strings.HasPrefix(string(m.MIMEBody), `Content-Type: multipart/related;\n boundary=1234567890@tutanota`))
}
type panicReader struct{}
func (panicReader) Read(_ []byte) (int, error) {

View File

@ -0,0 +1,13 @@
Date: Mon, 01 Jan 2000 00:00:00 +0000 (UTC)
From: Daniel at Test <daniel@test.com>
Mime-Version: 1.0
Subject: Test incorrect original boundary w. invalid character
To: david@test.com
Content-Type: multipart/related; boundary="------------1234567890@tutanota"
--------------1234567890@tutanota
Content-Type: text/html; charset=UTF-8
Content-transfer-encoding: base64
PGh0bWw+PGgxPkhlbGxvIFdvcmxkITwvaDE+PC9odG1sPg==
--------------1234567890@tutanota--