diff --git a/chatmaild/src/chatmaild/filtermail.py b/chatmaild/src/chatmaild/filtermail.py index 39b51226..8f23c595 100644 --- a/chatmaild/src/chatmaild/filtermail.py +++ b/chatmaild/src/chatmaild/filtermail.py @@ -14,6 +14,64 @@ from aiosmtpd.controller import Controller from .config import read_config +"""Generated from deltachat, draft-ietf-lamps-header-protection, and +encrypted_subject localizations in +https://github.com/thunderbird/thunderbird-android/ +""" +common_encrypted_subjects = { + "...", + "[...]", + "암호화된 메시지", + "Ĉifrita mesaĝo", + "Courriel chiffré", + "Dulrituð skilaboð", + "Encrypted Message", + "Fersifere berjocht", + "Kemennadenn enrineget", + "Krüptitud kiri", + "Krypterat meddelande", + "Krypteret besked", + "Kryptert melding", + "Mensagem criptografada", + "Mensagem encriptada", + "Mensaje cifrado", + "Mensaxe cifrada", + "Mesaj Criptat", + "Mesazh i Fshehtëzuar", + "Messaggio criptato", + "Messaghju cifratu", + "Missatge encriptat", + "Neges wedi'i Hamgryptio", + "Pesan terenkripsi", + "Salattu viesti", + "Şifreli İleti", + "Šifrēta ziņa", + "Šifrirana poruka", + "Šifrirano sporočilo", + "Šifruotas laiškas", + "Tin nhắn được mã hóa", + "Titkosított üzenet", + "Verschlüsselte Nachricht", + "Versleuteld bericht", + "Zašifrovaná zpráva", + "Zaszyfrowana wiadomość", + "Zifratu mezua", + "Κρυπτογραφημένο μήνυμα", + "Зашифроване повідомлення", + "Зашифрованное сообщение", + "Зашыфраваны ліст", + "Криптирано съобщение", + "Шифрована порука", + "დაშიფრული წერილი", + "הודעה מוצפנת", + "پیام رمزنگاری‌شده", + "رسالة مشفّرة", + "എൻക്രിപ്റ്റുചെയ്‌ത സന്ദേശം", + "加密邮件", + "已加密的訊息", + "暗号化されたメッセージ", +} + def check_openpgp_payload(payload: bytes): """Checks the OpenPGP payload. @@ -111,7 +169,7 @@ def check_encrypted(message): """ if not message.is_multipart(): return False - if message.get("subject") not in {"...", "[...]"}: + if message.get("subject") not in common_encrypted_subjects: return False if message.get_content_type() != "multipart/encrypted": return False diff --git a/chatmaild/src/chatmaild/tests/test_filtermail.py b/chatmaild/src/chatmaild/tests/test_filtermail.py index 049e09fb..74c28bb2 100644 --- a/chatmaild/src/chatmaild/tests/test_filtermail.py +++ b/chatmaild/src/chatmaild/tests/test_filtermail.py @@ -4,6 +4,7 @@ from chatmaild.filtermail import ( SendRateLimiter, check_armored_payload, check_encrypted, + common_encrypted_subjects, ) @@ -54,7 +55,7 @@ def test_filtermail_no_encryption_detection(maildata): def test_filtermail_encryption_detection(maildata): - for subject in ("...", "[...]"): + for subject in common_encrypted_subjects: msg = maildata( "encrypted.eml", from_addr="1@example.org",