Skip to content

Commit

Permalink
#2580 Implement better detection of "multipart/encrypted" email with …
Browse files Browse the repository at this point in the history
…PGP encrypted message (#2643)

* fix: better detection of multipart encrypted email

* feat: added ui test

* fix: pr reviews
  • Loading branch information
ioanmo226 authored Nov 15, 2024
1 parent 5be5b9a commit 52edb18
Show file tree
Hide file tree
Showing 4 changed files with 143 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -101,10 +101,6 @@ private extension GTLRGmail_Message {
payload?.parts?.filter(\.filename.isEmptyOrNil) ?? []
}

var attachmentParts: [GTLRGmail_MessagePart] {
payload?.parts?.filter { !$0.filename.isEmptyOrNil } ?? []
}

func parseMessageBody() -> MessageBody {
let html = body(type: .textHtml)
var text = body(type: .textPlain) ?? html ?? ""
Expand Down Expand Up @@ -147,13 +143,13 @@ private extension GTLRGmail_Message {
}

func parseAttachments() -> [MessageAttachment] {
attachmentParts.compactMap {
guard let body = $0.body, let id = body.attachmentId, let name = $0.filename
(payload?.parts ?? []).compactMap {
guard let body = $0.body, let id = body.attachmentId
else { return nil }

return MessageAttachment(
id: Identifier(stringId: id),
name: name,
name: $0.filename ?? "noname",
estimatedSize: body.size?.intValue,
mimeType: $0.mimeType,
data: body.data?.data()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
{
"acctEmail": "[email protected]",
"full": {
"id": "18f5b8fe65b3c1cf",
"threadId": "18f5b8fe65b3c1cf",
"labelIds": ["INBOX"],
"snippet": "",
"payload": {
"partId": "",
"mimeType": "multipart/encrypted",
"filename": "",
"headers": [
{
"name": "X-Gm-Message-State",
"value": "AOJu0Yy57zz3I7cn+42ayeeMpQpKJ3dhHgYAt5SiNFaiPqevkFzW5YSF UeOm+P61OQUlOWuBh8OYEW4zArad4JV7h0UQVF5oNMu6lwWpmjHQ/aqt+serPOU="
},
{
"name": "Date",
"value": "Wed, 8 May 2024 21:14:57 -0700 (PDT)"
},
{
"name": "From",
"value": "[email protected]"
},
{
"name": "To",
"value": "[email protected]"
},
{
"name": "Subject",
"value": "Canary Mail PGP encrypted emails cannot be read by Flowcrypt recipient"
},
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Content-Type",
"value": "multipart/encrypted; boundary=\"----=_Part_7_39145192.1715228097793\""
}
],
"body": {
"size": 0
},
"parts": [
{
"partId": "0",
"mimeType": "application/pgp-encrypted",
"filename": "",
"headers": [
{
"name": "Content-Type",
"value": "application/pgp-encrypted"
},
{
"name": "Content-Transfer-Encoding",
"value": "7bit"
}
],
"body": {
"attachmentId": "ANGjdJ9sOhlWfn5akc9uzyUwmt9Di388WiqiOuJOpwdvXol8naReG4bc8a0HQchnADCLilBLp87xem_Vf2WALzsWFpskPVwPZUecPQN3QBr-WxF--wdeNreKOesfleRfNQWJXy5d7eWANo37mY_Dhf9OvvmlN0O0aRrvt-UmbpFlTBRvLNOqZAza8Q8GG_qJwyCgof3Ax9qAQMnv0I4eRhQJMifiM1ewKSt6YR75HyFaA8wGJpPmm28iQU2WPtFGqkMgJaK4OzYny2qW3HBBzOss_TRjxRhpRKJ0E4KqMuW-5-t5CuqanXeCrTSNTcSjqjAzS8DugURE3hRgI7xZfZ3IT_XXSloS-6X8jl6M9C0SxwMkA5m_tQb48vXyE5E",
"size": 12
}
},
{
"partId": "1",
"mimeType": "application/octet-stream",
"filename": "",
"headers": [
{
"name": "Content-Type",
"value": "application/octet-stream"
},
{
"name": "Content-Transfer-Encoding",
"value": "7bit"
}
],
"body": {
"attachmentId": "ANGjdJ8CLh9k8xMwuCuh01qQKbp6KiIfA7SdntD0Oh3_Oo4otzLyroJgs9w36NFWFpy7BXQg9JNwGEw0miIn0HC6SbSUOwOer2JMD3sJ75rpv0hJuOB0YLrQ1UEXp6zpKLWWUixwcKc_8ioRoyUBYcpEOUdGaAvWc1QY8nsrdYodZty8OvqoXQMBGQC2TKW3J84OspIJrAbIHSSrYHD5zT5bx9sWI-8DJIb0-ydkBFkov0k6YUybWBc8sfqLpU0kmfUMgGcUzmFbcYksLYisftOLpZRDYztKP7_P5joq82S2z2UgadbwnDuYrCw2gertdOnRzaSxkqP2eUcSxqHM-tStExS483MvbwGk0G8cGP_9IZ13eGIVRus_7uxaots",
"size": 2550
}
}
]
},
"sizeEstimate": 8223,
"historyId": "1470755",
"internalDate": "1715228097000"
},
"attachments": {
"ANGjdJ9sOhlWfn5akc9uzyUwmt9Di388WiqiOuJOpwdvXol8naReG4bc8a0HQchnADCLilBLp87xem_Vf2WALzsWFpskPVwPZUecPQN3QBr-WxF--wdeNreKOesfleRfNQWJXy5d7eWANo37mY_Dhf9OvvmlN0O0aRrvt-UmbpFlTBRvLNOqZAza8Q8GG_qJwyCgof3Ax9qAQMnv0I4eRhQJMifiM1ewKSt6YR75HyFaA8wGJpPmm28iQU2WPtFGqkMgJaK4OzYny2qW3HBBzOss_TRjxRhpRKJ0E4KqMuW-5-t5CuqanXeCrTSNTcSjqjAzS8DugURE3hRgI7xZfZ3IT_XXSloS-6X8jl6M9C0SxwMkA5m_tQb48vXyE5E": {
"data": "VmVyc2lvbjogMQ0K",
"size": 12
},
"ANGjdJ8CLh9k8xMwuCuh01qQKbp6KiIfA7SdntD0Oh3_Oo4otzLyroJgs9w36NFWFpy7BXQg9JNwGEw0miIn0HC6SbSUOwOer2JMD3sJ75rpv0hJuOB0YLrQ1UEXp6zpKLWWUixwcKc_8ioRoyUBYcpEOUdGaAvWc1QY8nsrdYodZty8OvqoXQMBGQC2TKW3J84OspIJrAbIHSSrYHD5zT5bx9sWI-8DJIb0-ydkBFkov0k6YUybWBc8sfqLpU0kmfUMgGcUzmFbcYksLYisftOLpZRDYztKP7_P5joq82S2z2UgadbwnDuYrCw2gertdOnRzaSxkqP2eUcSxqHM-tStExS483MvbwGk0G8cGP_9IZ13eGIVRus_7uxaots": {
"data": "LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tDQpWZXJzaW9uOiBCQ1BHIHYxLjcwDQoNCmhGNEQ2eTFwNFV4cXdZQVNBUWRBdVlNZDdXcHFtRk1sNEpTWjBuVXpmTmxxS1BMZVlnZk5hci9qVVZvL2JVNHcNCkc4ajByeDJWSHBPSUs3L0RkLzJkb3UzSmthZEpVb0FVSm1heUxZMm9OSDh3NkNRd1ZJTkNWbG8wVjRVMXlhS3INCmhRSU1BMHRhTC96bUxaVUJBUS8rSjlpUnhuSlVkWFAyYm9qUGNwTHg5dFJEQzZZOEZnWG51T0lHQUVYYjVhZkgNCi9HOVloenN1Ymd1Y1VmTVpnKzRuTHZzdTRxZE9oeGJEUHNsQ1hCT3VsdlRCMENqRzJJL3hxN05kcU8reTBCS1cNCkVRR09BN044NmU3aStwc0d5NTFteVZ0akxPT2ZDcU9Beit2Q1YrVTNiNzcrQ1MzV0EvV1o2UjB5Zk81bzA2bDINCnlEaVpBeWZIQ3pIMUJlYWdSdE1xSFMvbWtYbUlYcFVMb1ZvemxldFh2ZXJHTk9FSnlxU2RQSWFhTk9jN2JLRHoNClBNWHc0ckcwT3NWaHJqRklLZXJpY1NXeUVjNmNwaW8yWWhuZ2VCRUtVWEJ6aTRrbWdtRVQ1TXZrR1hsKzQyaEwNCnVuZVFyMWM3VzdOMUtuL1FmWHVpclVxdHJYVXhwUm1QS3RxRjJMMWMveldsNkY5WGFWb2NMcHZSWis1OWw3YmsNClAzZi93SFk4QU8xVTYxSTZhV3dTNitqNlA0N1pWV3hKcHdkenQrUVl2ekRLK1c4a1g4ZlVTeHZzRm00Nk5hVFoNCnUzKy96WURzRzhzMWlaVDl1eGtKUkp6MitMVVI5SFJyQW5ZM1hiOGxqNWRxRG1UZXBzNGYvUGw3SjkyblY1blENCjNQNVBmQU9mRGwyd1pVVDZQTGszZmFzQ3p1c0phYStYckZYVmYwaTVoWlhoODN3VGRCeld5ZWF5b1pva1loU0oNCnlrRnpveXF2TUZkVDRQdllXZVgrdnlmYzN6K2F3bGFlTk9Edy93R1Zkem1vWUdWOGhpQndHZE5wYVRBempvSUwNCk53R003a0RkWllMeUEybXhQb2JqeW45VHVoYWRaNElVbGY3TXZwUVF6RHhLSGhESjYrK1VwOXdDYTAwVFEyalMNCnc4MEJzZmdEZ0w3S3BEakI0VHB4bXEvVldra3A1OG5xZ2l6Sm1UZVlWK1hkbTFBVitKNzVmcnBNazhQY2NnbGENCjMvVW9WTDZQT1p1RHdna05SRDFtU1lWVWM5NDByQTJVV0dTNC9nL1hMb0hZMnM3WWhpWUduMnNhZWVQVkJoUVoNCi9laVJkcXpMaThPb3R4eHJTTm90WVhYamQ0azZibExVa3pORktsVDNlSDZPRmFScmxqZUFHKzl6dGZrWXQreFUNCmRGbk5BZDJ5SUhhNm9PSEd2WmpJU3ZFVW95WXYwRjJrRW5zWFA0eHhQQlJLOGxuaTdPMFVLSDNrNURKV1lqbkMNCjF3ZUJZeklnWFZqWW84Z2wzZWxtdnZ6M29NVlg5T1pWNWpFNzhHTHFsS3AvK0RDNlU1RXpQMVIvdkJHejd3YTANCkFXQ0d5NkRDZ2R2dnFWVWp6V0trTXhUMDhWeHhjOG43RUNOOGQ3dlQ2cWw4SXYyZ2tkWXYxYTI5L1ZFTkI1dnENCmlaS3JSTjc4ZlpyazFweWl6eDhNeTZVMGRWNkliWXBITU9hUFFUak5YUC84SVZGUFNUK1NJS0JXODVrbll3aG4NCjIzVmJlR1BYSmp4ZWhhSml5dTVrVW5WcytSOVBrYTNCZEM0UVdFQ3A4QTRzaHcvc0QyckZQNnQ0S25idU1QWmcNCjM2S05MUDhRMVR6eFVQVkNPY0RVNUVFRlgraHEybDllMXN5MmRQN2xsNkFid05oSWdTaitjbEtsUHFqZ3NpTm8NCis4aGZxU3oyVHpLZGltSmN4a0FxdFZXYzFzMm1iL0VidngrektjUmZQWGlSanNLNmNRYzVHVzBJS044SXh0ZGgNCjBicTdGbTZUalZsTzZzRzkxbDJ3b2h1U1NiSk1WdHFISGdVZ2JaZXlFNXlXL0NWdFJiZnpBOTJSODBrcjhhQjMNCk1kbFFrdDlWZi9veEJsSnJTQlFxNko1N093VDEra1VQeUxhOEx6cTdqaUZmYUt4WVRtaklDSkJqanpWcyt2ZTcNClN5OUVSOWZUNnpWV0hJSUdielpxd3o4d3NTWVZQcFZnMXN0T2xibEwzbHBoK1JXcEhKd0VOUHdIQ05ucG8zTkYNCmRQTFJXSEVKUHJQV3JsdW9ybDNoQlI1emlINUxTM3FkNEZvZkxzNmN3S3R0b0E0Y2hCRVNRRENKWmtLOTloeEQNClMvM2hXNno1ZkExY2tLT1gzeUdUdDVxaUNHMmdMS0hueWx4OGtOR2xBekZnZXpFOEp2QUdYZitnZ054NUJDVnINClE5V2pJSmNlSFZjNUlFcmJsbWJWZWlOTE5tZ2pLQ0dkTDhmMWFiSVpYRGJTTy9kWFJQRVFFdi9pUm8reU9QSHENCkxxTmRSai82VWl0YnVwVHh3ZGNhazlmcWJac3lSM0RCL2N4TngxUWZsaFZGMVR6VGRiYSt3RzFlaFEwM3JBZUMNCjRhcmhBRkJZRlJLWG5rUHZvUnhsRklYTXRRV25DbjZkaHlNcWg0ZUZqNklIMi9zenFIS3k4cXM0aW1ZV1owWFENCmZScUZIS2NxaHg3d1o0RTNGUTVPWjdNYVI3U0ZreGhKVzlkbXdsY2xKWjArNVlqeE1vakdNSFlZS214Wm5PTmwNCk9ubTdrdnZDSDZBT2QvLzc3cEEzUlVLejlFNnZNS2hmTWdvRHVOVHF5RWhLOThHUkRpSkh4SGFKS0g5R3dkUmsNCjNIVWNXWEMrdXVJTkExSjNZVHN4UGsxVkxkZURoL3NBSDhORXdQR01GNndmZUwvekp0VGJ2TUtvM2tyWDQ0WUsNCjZPOG9IbDJKSkZVL092SUFYcElLT0hhcWE1ajRyczBNek9jS1M2Ni8yc1kzVEI3dDBZNWNiN2ZabmJrazRlVnENCkppU0drbEhqM0E2Vmsva0M3eHlQUU9jMjNaR2dRSlBKMTZsL1RGNmVYTEdZaVRyQ1JrWW9YTDhFWXZrczlod2QNCmpoYnZLQk5DME0zWCtvaXJrOVFxcEpJSFllRERoMWdiekpDY1UyUStnRmpxQU00SGEwMnhkTHJaMzQ1UUVKZjQNCjdlWVQwbW02c2NMNGY5WHVmekdNDQo9bFg0VQ0KLS0tLS1FTkQgUEdQIE1FU1NBR0UtLS0tLQ0K",
"size": 2550
}
},
"raw": {
"id": "18f5b8fe65b3c1cf",
"threadId": "18f5b8fe65b3c1cf",
"labelIds": ["Label_27", "Label_1562903719323611078", "CATEGORY_PERSONAL"],
"snippet": "",
"sizeEstimate": 8223,
"raw": "RGVsaXZlcmVkLVRvOiBmbG93Y3J5cHQuY29tcGF0aWJpbGl0eUBnbWFpbC5jb20NClJlY2VpdmVkOiBieSAyMDAyOmFjODo0ZGM4OjA6YjA6NDNkOjRjZGY6ODE5NiB3aXRoIFNNVFAgaWQgZzhjc3A4NDY3MzhxdHc7DQogICAgICAgIFdlZCwgOCBNYXkgMjAyNCAyMToxNTowOCAtMDcwMCAoUERUKQ0KWC1SZWNlaXZlZDogYnkgMjAwMjphMTc6OTA2OjMxMTM6YjA6YTU5OmM0NmI6YzUyNCB3aXRoIFNNVFAgaWQgYTY0MGMyM2E2MmYzYS1hNTlmYjcxMDdiY21yMzI2OTQ4MDY2Yi4wLjE3MTUyMjgxMDgzMzI7DQogICAgICAgIFdlZCwgMDggTWF5IDIwMjQgMjE6MTU6MDggLTA3MDAgKFBEVCkNCkFSQy1TZWFsOiBpPTE7IGE9cnNhLXNoYTI1NjsgdD0xNzE1MjI4MTA4OyBjdj1ub25lOw0KICAgICAgICBkPWdvb2dsZS5jb207IHM9YXJjLTIwMTYwODE2Ow0KICAgICAgICBiPUl1YjJvUnpYOTBEQVJIL1hXT3l2cERRWTNNRHZyWi9oQWNvVzdDdFBIZUNWSEdESlY5NkNjUm5oOE9iZS93eFdKWQ0KICAgICAgICAgY2E3d3pXN2Q1YlFnUTNiV1FaM1FPQ2NZSTUydGRqZVlmRUw3dlVESXJ1MTl3STBZTVlyS0lIK3dNMGh1QVJjUWFuRzYNCiAgICAgICAgIGdFenYzNGxaZzYwb2xGWUFQcWhkZUFKZ3pKdlZiU1FFTTlWMWJPanBqLzV6N21FdXFBamh2ZE1ueU42M1BEK3pSOVFIDQogICAgICAgICB4dnBTVUtidm02S1VBV1BrVmwydXZFRU9tSUtGbWMyckM1SmhRSHFrQ0ROSGN4eGhQS1ZQdnUvb0VCVFhFRDhNMWZJRw0KICAgICAgICAgMjhqbEZQUnZlc3ZUQThYZHdIUjNDa0FFSTBjTFlpek0zOVFoNU53Z1E1M3VWVGJ5UThWa0pFalRxM0UrWHFIdzZEK1MNCiAgICAgICAgIHVRNnc9PQ0KQVJDLU1lc3NhZ2UtU2lnbmF0dXJlOiBpPTE7IGE9cnNhLXNoYTI1NjsgYz1yZWxheGVkL3JlbGF4ZWQ7IGQ9Z29vZ2xlLmNvbTsgcz1hcmMtMjAxNjA4MTY7DQogICAgICAgIGg9bWltZS12ZXJzaW9uOnN1YmplY3Q6bWVzc2FnZS1pZDp0bzpmcm9tOmRhdGU6ZGtpbS1zaWduYXR1cmU7DQogICAgICAgIGJoPWxKYTlJVEJnV0V0UiszV1JUVFQ4bzFUUkpXVUFZRGpzNXhMWWwyUzRiZ1k9Ow0KICAgICAgICBmaD1HV1VWQXBwTkxiR0dranZWdnhDdk9EbGZEMTlaczl6K29HS054TndBQ2JRPTsNCiAgICAgICAgYj1saHZlcXByUXhpWlpieWVQUjhKR08rbzdOU1hleHd2OUcvdFkrMzlSeWN5eEJTU3VLdHZoeHkrWnZqVmZpcXQxTmkNCiAgICAgICAgIG1vd3psbys3UFZ6aDBkZzJTclU1UGhjeFJkOHZ4cllhYmgzVkhVVHRQL0h3OTVQeWxXTENXQUhDN092QzRCYmVvU0N6DQogICAgICAgICBXS0xzRlAwYkNVVTFadDNYYXh1U0IrYURkODR1UXczRGZYL1FPSGo4OG5NT0lkSnd0cmpPSk9XTmtNSkxiRnlHbjhKaw0KICAgICAgICAgK3c3ek83Z0VHaWdoM3JrZnlXR3FCdHhXOGdnVzRIOVM5MFFLMUtFZG5MSHpabSt5TUg1QWhvOUtpYTcxNWt5akg2V3gNCiAgICAgICAgIHRscEh0cnlvVVBSZE9LbUNmRmZlR1lFSmNUNEdPYWVlTlpxNXhWRkdrY25MbmlsUXRtUlltT0JjbVJFcForVTdoTUpDDQogICAgICAgICBNZnNBPT07DQogICAgICAgIGRhcmE9Z29vZ2xlLmNvbQ0KQVJDLUF1dGhlbnRpY2F0aW9uLVJlc3VsdHM6IGk9MTsgbXguZ29vZ2xlLmNvbTsNCiAgICAgICBka2ltPXBhc3MgaGVhZGVyLmk9QGdtYWlsLmNvbSBoZWFkZXIucz0yMDIzMDYwMSBoZWFkZXIuYj1BQ0VnSEJ3MDsNCiAgICAgICBzcGY9cGFzcyAoZ29vZ2xlLmNvbTogZG9tYWluIG9mIGJiZWxvdEBnbWFpbC5jb20gZGVzaWduYXRlcyAyMDkuODUuMjIwLjQxIGFzIHBlcm1pdHRlZCBzZW5kZXIpIHNtdHAubWFpbGZyb209YmJlbG90QGdtYWlsLmNvbTsNCiAgICAgICBkbWFyYz1wYXNzIChwPU5PTkUgc3A9UVVBUkFOVElORSBkaXM9Tk9ORSkgaGVhZGVyLmZyb209Z21haWwuY29tDQpSZXR1cm4tUGF0aDogPGJiZWxvdEBnbWFpbC5jb20-DQpSZWNlaXZlZDogZnJvbSBtYWlsLXNvci1mNDEuZ29vZ2xlLmNvbSAobWFpbC1zb3ItZjQxLmdvb2dsZS5jb20uIFsyMDkuODUuMjIwLjQxXSkNCiAgICAgICAgYnkgbXguZ29vZ2xlLmNvbSB3aXRoIFNNVFBTIGlkIGE2NDBjMjNhNjJmM2EtYTVhMTc4MjZiOGJzb3IxMzg3MTA2NmIuMS4yMDI0LjA1LjA4LjIxLjE1LjA4DQogICAgICAgIGZvciA8Zmxvd2NyeXB0LmNvbXBhdGliaWxpdHlAZ21haWwuY29tPg0KICAgICAgICAoR29vZ2xlIFRyYW5zcG9ydCBTZWN1cml0eSk7DQogICAgICAgIFdlZCwgMDggTWF5IDIwMjQgMjE6MTU6MDggLTA3MDAgKFBEVCkNClJlY2VpdmVkLVNQRjogcGFzcyAoZ29vZ2xlLmNvbTogZG9tYWluIG9mIGJiZWxvdEBnbWFpbC5jb20gZGVzaWduYXRlcyAyMDkuODUuMjIwLjQxIGFzIHBlcm1pdHRlZCBzZW5kZXIpIGNsaWVudC1pcD0yMDkuODUuMjIwLjQxOw0KQXV0aGVudGljYXRpb24tUmVzdWx0czogbXguZ29vZ2xlLmNvbTsNCiAgICAgICBka2ltPXBhc3MgaGVhZGVyLmk9QGdtYWlsLmNvbSBoZWFkZXIucz0yMDIzMDYwMSBoZWFkZXIuYj1BQ0VnSEJ3MDsNCiAgICAgICBzcGY9cGFzcyAoZ29vZ2xlLmNvbTogZG9tYWluIG9mIGJiZWxvdEBnbWFpbC5jb20gZGVzaWduYXRlcyAyMDkuODUuMjIwLjQxIGFzIHBlcm1pdHRlZCBzZW5kZXIpIHNtdHAubWFpbGZyb209YmJlbG90QGdtYWlsLmNvbTsNCiAgICAgICBkbWFyYz1wYXNzIChwPU5PTkUgc3A9UVVBUkFOVElORSBkaXM9Tk9ORSkgaGVhZGVyLmZyb209Z21haWwuY29tDQpES0lNLVNpZ25hdHVyZTogdj0xOyBhPXJzYS1zaGEyNTY7IGM9cmVsYXhlZC9yZWxheGVkOw0KICAgICAgICBkPWdtYWlsLmNvbTsgcz0yMDIzMDYwMTsgdD0xNzE1MjI4MTA3OyB4PTE3MTU4MzI5MDc7IGRhcmE9Z29vZ2xlLmNvbTsNCiAgICAgICAgaD1taW1lLXZlcnNpb246c3ViamVjdDptZXNzYWdlLWlkOnRvOmZyb206ZGF0ZTpmcm9tOnRvOmNjOnN1YmplY3QNCiAgICAgICAgIDpkYXRlOm1lc3NhZ2UtaWQ6cmVwbHktdG87DQogICAgICAgIGJoPWxKYTlJVEJnV0V0UiszV1JUVFQ4bzFUUkpXVUFZRGpzNXhMWWwyUzRiZ1k9Ow0KICAgICAgICBiPUFDRWdIQncwa0pkMGZEUWl6QlcvWWU4bWFFaHMyUXFBVGVXTGx5ZnhaRHpvR2l6c21LdWtzNDNhdkFHb0w3andjZA0KICAgICAgICAgMXlKM1FpdHc4VG1lbmtDclVSdkZOcEpmeXBiZUx1ZGwwU2xpU1JxcFV5bDRXMGJoNnh2SVF0dC9uRW85OEJVYjhxTVgNCiAgICAgICAgIEo0MVhZcmRvcS9lZmxlb2JMSW40bnJTVmtJY3ZsL2t0RXF6TUhzcUhYQWgzalJYZnpnNnJnUFFDRVdHSlo4cy95VXZBDQogICAgICAgICB5bGFkQ1p6OTZTNFRvWGFjVFhnNWZTSkZWL0VqN2ZzRHFaSW55cXlvMU4xc0xHcHlYdUg2VjNzQnBPTXZCY3NsWWxmbw0KICAgICAgICAgQWNMbGM2YWkycEtDTGZxZXExcWhtR0IySXE5KzRXcmVldnpXTEw2RXoyYnZFT0VrQ3Q3QUFPajJGd3g5M1QwWWpqK2UNCiAgICAgICAgIHUzNnc9PQ0KWC1Hb29nbGUtREtJTS1TaWduYXR1cmU6IHY9MTsgYT1yc2Etc2hhMjU2OyBjPXJlbGF4ZWQvcmVsYXhlZDsNCiAgICAgICAgZD0xZTEwMC5uZXQ7IHM9MjAyMzA2MDE7IHQ9MTcxNTIyODEwNzsgeD0xNzE1ODMyOTA3Ow0KICAgICAgICBoPW1pbWUtdmVyc2lvbjpzdWJqZWN0Om1lc3NhZ2UtaWQ6dG86ZnJvbTpkYXRlOngtZ20tbWVzc2FnZS1zdGF0ZQ0KICAgICAgICAgOmZyb206dG86Y2M6c3ViamVjdDpkYXRlOm1lc3NhZ2UtaWQ6cmVwbHktdG87DQogICAgICAgIGJoPWxKYTlJVEJnV0V0UiszV1JUVFQ4bzFUUkpXVUFZRGpzNXhMWWwyUzRiZ1k9Ow0KICAgICAgICBiPWNBSG9BeTFRK1pFUkRzd3I4ZU1BYzNZM3Ywb1hwRy9tQjdKN2RxdHpuZWlHdVlITEdaMDFOdk5tcmRPSFJDNUNlcw0KICAgICAgICAgdXg3dGQ1R0pRMG5XaTBXcGhEeTRSMFhBMmdKUitveFIyYnVZL2gxSUhHZlNpMFhpaDF1U3lUT2lnT1YzUmozWEx2N28NCiAgICAgICAgIDd0WnY5OTJlT2NNWkxHUVREaHlVVkJsRlFCVGlkc0JIcVlYUUdpTEtRUTMxZU1oMzUwL3c4eEt2RWFyeWZTcjdkbUZWDQogICAgICAgICBsVEc1cmVJcVRtVnJ4T0JuODNZQ0RsYVYvMHhPTWFyNG9MM3k4NkxOVFowaXBUTkFwTFh6dEVFWEl6QzBHMDhVZDFtRg0KICAgICAgICAgbTF2QmVSUXByWnJCdWpBUjhoRnp5TWd0M1pQZVRiUXlPTzQ1S2dIVUdPYjFXNEtXelZsUGZSQzV6VjdsMW93bWt6c0YNCiAgICAgICAgIHY0TkE9PQ0KWC1HbS1NZXNzYWdlLVN0YXRlOiBBT0p1MFl5NTd6ejNJN2NuKzQyYXllZU1wUXBLSjNkaEhnWUF0NVNpTkZhaVBxZXZrRnpXNVlTRg0KCVVlT20rUDYxT1FVbE9XdUJoOE9ZRVc0ekFyYWQ0SlY3aDBVUVZGNW9OTXU2bHdXcG1qSFEvYXF0K3NlclBPVT0NClgtR29vZ2xlLVNtdHAtU291cmNlOiBBR0hUK0lFdlN5WVVaUUUrVEYyMWRSNG16eFB2SmcvUUhjRXFGaFFpQ2t5R252VWFSdy9FNlRWNlMzOUdFd2xBWnR4cHV6elBGR1hRUFE9PQ0KWC1SZWNlaXZlZDogYnkgMjAwMjphMTc6OTA2OmMwNDM6YjA6YTU5OjllMDE6ZTc4NyB3aXRoIFNNVFAgaWQgYTY0MGMyM2E2MmYzYS1hNTlmYjk2OGIyM21yMjQyNjUyMjY2Yi4zNC4xNzE1MjI4MTA2NzQxOw0KICAgICAgICBXZWQsIDA4IE1heSAyMDI0IDIxOjE1OjA2IC0wNzAwIChQRFQpDQpSZXR1cm4tUGF0aDogPGJiZWxvdEBnbWFpbC5jb20-DQpSZWNlaXZlZDogZnJvbSBsb2NhbGhvc3QgKFsyNjA2OjFhNDA6MTAzNTowOmM0YzU6MTYzYjozNTcxOjkxMDFdKQ0KICAgICAgICBieSBzbXRwLmdtYWlsLmNvbSB3aXRoIEVTTVRQU0EgaWQgYTY0MGMyM2E2MmYzYS1hNWExNzgxZDRiMnNtMzAzNDgwNjZiLjI3LjIwMjQuMDUuMDguMjEuMTUuMDUNCiAgICAgICAgZm9yIDxmbG93Y3J5cHQuY29tcGF0aWJpbGl0eUBnbWFpbC5jb20-DQogICAgICAgICh2ZXJzaW9uPVRMUzFfMiBjaXBoZXI9RUNESEUtRUNEU0EtQUVTMTI4LUdDTS1TSEEyNTYgYml0cz0xMjgvMTI4KTsNCiAgICAgICAgV2VkLCAwOCBNYXkgMjAyNCAyMToxNTowNiAtMDcwMCAoUERUKQ0KRGF0ZTogV2VkLCA4IE1heSAyMDI0IDIxOjE0OjU3IC0wNzAwIChQRFQpDQpGcm9tOiBCcmlhbiBCZWxvdCA8YmJlbG90QGdtYWlsLmNvbT4NClRvOiAiZmxvd2NyeXB0LmNvbXBhdGliaWxpdHlAZ21haWwuY29tIiA8Zmxvd2NyeXB0LmNvbXBhdGliaWxpdHlAZ21haWwuY29tPg0KTWVzc2FnZS1JRDogPGIxNmQ4NTljLTRhYmQtNGQ1ZS1hYzMzLTVmMzU2YWZlYTQyYkBDYW5hcnk-DQpTdWJqZWN0OiBDYW5hcnkgTWFpbCBQR1AgZW5jcnlwdGVkIGVtYWlscyBjYW5ub3QgYmUgcmVhZCBieSBGbG93Y3J5cHQNCiByZWNpcGllbnQsIGJ1dCBQR1AgZW1haWxzIGZyb20gRmxvd2NyeXB0IGNhbiBiZSByZWFkIGluIENhbmFyeQ0KTUlNRS1WZXJzaW9uOiAxLjANCkNvbnRlbnQtVHlwZTogbXVsdGlwYXJ0L2VuY3J5cHRlZDsgDQoJYm91bmRhcnk9Ii0tLS09X1BhcnRfN18zOTE0NTE5Mi4xNzE1MjI4MDk3NzkzIg0KDQotLS0tLS09X1BhcnRfN18zOTE0NTE5Mi4xNzE1MjI4MDk3NzkzDQpDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3BncC1lbmNyeXB0ZWQNCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQNCg0KVmVyc2lvbjogMQ0KDQotLS0tLS09X1BhcnRfN18zOTE0NTE5Mi4xNzE1MjI4MDk3NzkzDQpDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQ0KQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdA0KDQotLS0tLUJFR0lOIFBHUCBNRVNTQUdFLS0tLS0NClZlcnNpb246IEJDUEcgdjEuNzANCg0KaEY0RDZ5MXA0VXhxd1lBU0FRZEF1WU1kN1dwcW1GTWw0SlNaMG5VemZObHFLUExlWWdmTmFyL2pVVm8vYlU0dw0KRzhqMHJ4MlZIcE9JSzcvRGQvMmRvdTNKa2FkSlVvQVVKbWF5TFkyb05IOHc2Q1F3VklOQ1ZsbzBWNFUxeWFLcg0KaFFJTUEwdGFML3ptTFpVQkFRLytKOWlSeG5KVWRYUDJib2pQY3BMeDl0UkRDNlk4RmdYbnVPSUdBRVhiNWFmSA0KL0c5WWh6c3ViZ3VjVWZNWmcrNG5MdnN1NHFkT2h4YkRQc2xDWEJPdWx2VEIwQ2pHMkkveHE3TmRxTyt5MEJLVw0KRVFHT0E3Tjg2ZTdpK3BzR3k1MW15VnRqTE9PZkNxT0F6K3ZDVitVM2I3NytDUzNXQS9XWjZSMHlmTzVvMDZsMg0KeURpWkF5ZkhDekgxQmVhZ1J0TXFIUy9ta1htSVhwVUxvVm96bGV0WHZlckdOT0VKeXFTZFBJYWFOT2M3YktEeg0KUE1YdzRyRzBPc1ZocmpGSUtlcmljU1d5RWM2Y3BpbzJZaG5nZUJFS1VYQnppNGttZ21FVDVNdmtHWGwrNDJoTA0KdW5lUXIxYzdXN04xS24vUWZYdWlyVXF0clhVeHBSbVBLdHFGMkwxYy96V2w2RjlYYVZvY0xwdlJaKzU5bDdiaw0KUDNmL3dIWThBTzFVNjFJNmFXd1M2K2o2UDQ3WlZXeEpwd2R6dCtRWXZ6REsrVzhrWDhmVVN4dnNGbTQ2TmFUWg0KdTMrL3pZRHNHOHMxaVpUOXV4a0pSSnoyK0xVUjlIUnJBblkzWGI4bGo1ZHFEbVRlcHM0Zi9QbDdKOTJuVjVuUQ0KM1A1UGZBT2ZEbDJ3WlVUNlBMazNmYXNDenVzSmFhK1hyRlhWZjBpNWhaWGg4M3dUZEJ6V3llYXlvWm9rWWhTSg0KeWtGem95cXZNRmRUNFB2WVdlWCt2eWZjM3orYXdsYWVOT0R3L3dHVmR6bW9ZR1Y4aGlCd0dkTnBhVEF6am9JTA0KTndHTTdrRGRaWUx5QTJteFBvYmp5bjlUdWhhZFo0SVVsZjdNdnBRUXpEeEtIaERKNisrVXA5d0NhMDBUUTJqUw0KdzgwQnNmZ0RnTDdLcERqQjRUcHhtcS9WV2trcDU4bnFnaXpKbVRlWVYrWGRtMUFWK0o3NWZycE1rOFBjY2dsYQ0KMy9Vb1ZMNlBPWnVEd2drTlJEMW1TWVZVYzk0MHJBMlVXR1M0L2cvWExvSFkyczdZaGlZR24yc2FlZVBWQmhRWg0KL2VpUmRxekxpOE9vdHh4clNOb3RZWFhqZDRrNmJsTFVrek5GS2xUM2VINk9GYVJybGplQUcrOXp0ZmtZdCt4VQ0KZEZuTkFkMnlJSGE2b09IR3ZaaklTdkVVb3lZdjBGMmtFbnNYUDR4eFBCUks4bG5pN08wVUtIM2s1REpXWWpuQw0KMXdlQll6SWdYVmpZbzhnbDNlbG12dnozb01WWDlPWlY1akU3OEdMcWxLcC8rREM2VTVFelAxUi92Qkd6N3dhMA0KQVdDR3k2RENnZHZ2cVZVanpXS2tNeFQwOFZ4eGM4bjdFQ044ZDd2VDZxbDhJdjJna2RZdjFhMjkvVkVOQjV2cQ0KaVpLclJONzhmWnJrMXB5aXp4OE15NlUwZFY2SWJZcEhNT2FQUVRqTlhQLzhJVkZQU1QrU0lLQlc4NWtuWXdobg0KMjNWYmVHUFhKanhlaGFKaXl1NWtVblZzK1I5UGthM0JkQzRRV0VDcDhBNHNody9zRDJyRlA2dDRLbmJ1TVBaZw0KMzZLTkxQOFExVHp4VVBWQ09jRFU1RUVGWCtocTJsOWUxc3kyZFA3bGw2QWJ3TmhJZ1NqK2NsS2xQcWpnc2lObw0KKzhoZnFTejJUektkaW1KY3hrQXF0VldjMXMybWIvRWJ2eCt6S2NSZlBYaVJqc0s2Y1FjNUdXMElLTjhJeHRkaA0KMGJxN0ZtNlRqVmxPNnNHOTFsMndvaHVTU2JKTVZ0cUhIZ1VnYlpleUU1eVcvQ1Z0UmJmekE5MlI4MGtyOGFCMw0KTWRsUWt0OVZmL294QmxKclNCUXE2SjU3T3dUMStrVVB5TGE4THpxN2ppRmZhS3hZVG1qSUNKQmpqelZzK3ZlNw0KU3k5RVI5ZlQ2elZXSElJR2J6WnF3ejh3c1NZVlBwVmcxc3RPbGJsTDNscGgrUldwSEp3RU5Qd0hDTm5wbzNORg0KZFBMUldIRUpQclBXcmx1b3JsM2hCUjV6aUg1TFMzcWQ0Rm9mTHM2Y3dLdHRvQTRjaEJFU1FEQ0paa0s5OWh4RA0KUy8zaFc2ejVmQTFja0tPWDN5R1R0NXFpQ0cyZ0xLSG55bHg4a05HbEF6RmdlekU4SnZBR1hmK2dnTng1QkNWcg0KUTlXaklKY2VIVmM1SUVyYmxtYlZlaU5MTm1naktDR2RMOGYxYWJJWlhEYlNPL2RYUlBFUUV2L2lSbyt5T1BIcQ0KTHFOZFJqLzZVaXRidXBUeHdkY2FrOWZxYlpzeVIzREIvY3hOeDFRZmxoVkYxVHpUZGJhK3dHMWVoUTAzckFlQw0KNGFyaEFGQllGUktYbmtQdm9SeGxGSVhNdFFXbkNuNmRoeU1xaDRlRmo2SUgyL3N6cUhLeThxczRpbVlXWjBYUQ0KZlJxRkhLY3FoeDd3WjRFM0ZRNU9aN01hUjdTRmt4aEpXOWRtd2xjbEpaMCs1WWp4TW9qR01IWVlLbXhabk9ObA0KT25tN2t2dkNINkFPZC8vNzdwQTNSVUt6OUU2dk1LaGZNZ29EdU5UcXlFaEs5OEdSRGlKSHhIYUpLSDlHd2RSaw0KM0hVY1dYQyt1dUlOQTFKM1lUc3hQazFWTGRlRGgvc0FIOE5Fd1BHTUY2d2ZlTC96SnRUYnZNS28za3JYNDRZSw0KNk84b0hsMkpKRlUvT3ZJQVhwSUtPSGFxYTVqNHJzME16T2NLUzY2LzJzWTNUQjd0MFk1Y2I3ZlpuYmtrNGVWcQ0KSmlTR2tsSGozQTZWay9rQzd4eVBRT2MyM1pHZ1FKUEoxNmwvVEY2ZVhMR1lpVHJDUmtZb1hMOEVZdmtzOWh3ZA0KamhidktCTkMwTTNYK29pcms5UXFwSklIWWVERGgxZ2J6SkNjVTJRK2dGanFBTTRIYTAyeGRMclozNDVRRUpmNA0KN2VZVDBtbTZzY0w0ZjlYdWZ6R00NCj1sWDRVDQotLS0tLUVORCBQR1AgTUVTU0FHRS0tLS0tDQoNCi0tLS0tLT1fUGFydF83XzM5MTQ1MTkyLjE3MTUyMjgwOTc3OTMtLQ0K",
"historyId": "1470755",
"internalDate": "1715228097000"
}
}
3 changes: 2 additions & 1 deletion appium/api-mocks/apis/google/google-messages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,5 @@ export type GoogleMockMessage =
| 'Email with another user public key attached'
| 'Test remote images #2414'
| 'Test Spoofed email by Mart'
| 'Test encrypted message sent via encrypted contact page with attachment';
| 'Test encrypted message sent via encrypted contact page with attachment'
| 'Canary Mail PGP encrypted emails cannot be read by Flowcrypt recipient';
Loading

0 comments on commit 52edb18

Please sign in to comment.